CGraph
Static Public Member Functions | Static Private Member Functions | List of all members
CAllocator Class Reference

#include <CAllocator.h>

Static Public Member Functions

template<typename T , c_enable_if_t< std::is_base_of< CObject, T >::value, int > = 0>
static T * safeMallocCObject ()
 
template<typename T , c_enable_if_t< std::is_base_of< CStruct, T >::value, int > = 0>
static T * safeMallocCStruct ()
 
template<typename T , typename ... Args, c_enable_if_t< std::is_base_of< CObject, T >::value, int > = 0>
static T * safeMallocTemplateCObject (Args &&... args)
 
template<typename T , c_enable_if_t< std::is_base_of< CObject, T >::value, int > = 0>
static std::unique_ptr< T > makeUniqueCObject ()
 

Static Private Member Functions

template<class T >
static T * safeMalloc ()
 

Detailed Description

用于安全申请CObject/CStruct及其派生类对象

Member Function Documentation

◆ makeUniqueCObject()

template<typename T , c_enable_if_t< std::is_base_of< CObject, T >::value, int > = 0>
static std::unique_ptr<T> CAllocator::makeUniqueCObject ( )
inlinestatic

生成unique智能指针信息

Template Parameters
T
Returns
std::unique_ptr<T>

◆ safeMalloc()

template<class T >
static T* CAllocator::safeMalloc ( )
inlinestaticprivate

生成T类型的对象

Template Parameters
T
Returns
T*

◆ safeMallocCObject()

template<typename T , c_enable_if_t< std::is_base_of< CObject, T >::value, int > = 0>
static T* CAllocator::safeMallocCObject ( )
inlinestatic

生成一个 CObject 对象

Template Parameters
T
Returns
T*

◆ safeMallocCStruct()

template<typename T , c_enable_if_t< std::is_base_of< CStruct, T >::value, int > = 0>
static T* CAllocator::safeMallocCStruct ( )
inlinestatic

生成一个 CStruct 的对象

Template Parameters
T
Returns
T*

◆ safeMallocTemplateCObject()

template<typename T , typename ... Args, c_enable_if_t< std::is_base_of< CObject, T >::value, int > = 0>
static T* CAllocator::safeMallocTemplateCObject ( Args &&...  args)
inlinestatic

生成带参数的普通指针

Template Parameters
T
Args
Parameters
args
Returns
T*

The documentation for this class was generated from the following file: