NewDelete< T > Class Template Reference

#include <newobj.h>

Public Types

using AllocType = typename std::conditional< IS_ALLOC_TYPE, T, NewDelete >::type
 
using ConstructorType = typename std::conditional< IS_ALLOC_TYPE, NewDelete, T >::type
 
using AllocatorType = DefaultAllocator
 

Public Member Functions

template<typename... ARGS>
 NewDelete (ARGS &&...)
 

Static Public Member Functions

template<typename... ARGS>
static T * Alloc (MAXON_SOURCE_LOCATION_DECLARATION, ARGS &&...)
 
static void Free (const T *o)
 
static ResultPtr< T > Cast (ResultPtr< T > &&value)
 
static Result< T * > Cast (Result< T * > &&value)
 
template<typename T2 >
static ResultPtr< T > Cast (T2 *value)
 

Static Public Attributes

static const Bool IS_ALLOC_TYPE
 
static const Int SIZE
 

Member Typedef Documentation

◆ AllocType

using AllocType = typename std::conditional<IS_ALLOC_TYPE, T, NewDelete>::type

◆ ConstructorType

using ConstructorType = typename std::conditional<IS_ALLOC_TYPE, NewDelete, T>::type

◆ AllocatorType

Constructor & Destructor Documentation

◆ NewDelete()

NewDelete ( ARGS &&  ...)
explicit

Member Function Documentation

◆ Alloc()

static T* Alloc ( MAXON_SOURCE_LOCATION_DECLARATION  ,
ARGS &&  ... 
)
static

◆ Free()

static void Free ( const T *  o)
static

◆ Cast() [1/3]

static ResultPtr<T> Cast ( ResultPtr< T > &&  value)
static

◆ Cast() [2/3]

static Result<T*> Cast ( Result< T * > &&  value)
static

◆ Cast() [3/3]

static ResultPtr<T> Cast ( T2 *  value)
static

Member Data Documentation

◆ IS_ALLOC_TYPE

const Bool IS_ALLOC_TYPE
static

◆ SIZE

const Int SIZE
static