Dragon - C++ API
A Computation Graph Virtual Machine Based Deep Learning Framework
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
dragon::TypeMeta Class Reference

#include <typeid.h>

Classes

struct  TypeRegister
 

Public Types

typedef void(* PlacementNew) (void *, size_t)
 
typedef void(* TypedCopy) (const void *, void *, size_t)
 
typedef void(* TypedDestructor) (void *, size_t)
 

Public Member Functions

 TypeMeta ()
 
 TypeMeta (const TypeMeta &src)
 
TypeMetaoperator= (const TypeMeta &src)
 
bool operator== (const TypeMeta &other) const
 
bool operator != (const TypeMeta &other) const
 
const TypeIdid () const
 
const size_t & itemsize () const
 
PlacementNew ctor () const
 
TypedCopy copy () const
 
TypedDestructor dtor () const
 
template<typename T >
bool Match () const
 

Static Public Member Functions

template<typename T >
static TypeId Id ()
 
template<typename T >
static size_t Itemsize ()
 
template<typename T >
static void Ctor (void *ptr, size_t n)
 
template<typename T >
static void Copy (const void *src, void *dst, size_t n)
 
template<typename T >
static void Dtor (void *ptr, size_t n)
 
template<typename T >
static FundMeta Make ()
 
template<typename T >
static StructMeta Make ()
 

Member Typedef Documentation

◆ PlacementNew

typedef void(* dragon::TypeMeta::PlacementNew) (void *, size_t)

◆ TypedCopy

typedef void(* dragon::TypeMeta::TypedCopy) (const void *, void *, size_t)

◆ TypedDestructor

typedef void(* dragon::TypeMeta::TypedDestructor) (void *, size_t)

Constructor & Destructor Documentation

◆ TypeMeta() [1/2]

dragon::TypeMeta::TypeMeta ( )
inline

◆ TypeMeta() [2/2]

dragon::TypeMeta::TypeMeta ( const TypeMeta src)
inline

Member Function Documentation

◆ copy()

TypedCopy dragon::TypeMeta::copy ( ) const
inline

◆ Copy()

template<typename T >
static void dragon::TypeMeta::Copy ( const void *  src,
void *  dst,
size_t  n 
)
inlinestatic

◆ ctor()

PlacementNew dragon::TypeMeta::ctor ( ) const
inline

◆ Ctor()

template<typename T >
static void dragon::TypeMeta::Ctor ( void *  ptr,
size_t  n 
)
inlinestatic

◆ dtor()

TypedDestructor dragon::TypeMeta::dtor ( ) const
inline

◆ Dtor()

template<typename T >
static void dragon::TypeMeta::Dtor ( void *  ptr,
size_t  n 
)
inlinestatic

◆ id()

const TypeId& dragon::TypeMeta::id ( ) const
inline

◆ Id()

template<typename T >
static TypeId dragon::TypeMeta::Id ( )
inlinestatic

◆ itemsize()

const size_t& dragon::TypeMeta::itemsize ( ) const
inline

◆ Itemsize()

template<typename T >
static size_t dragon::TypeMeta::Itemsize ( )
inlinestatic

◆ Make() [1/2]

template<typename T >
static FundMeta dragon::TypeMeta::Make ( )
inlinestatic

◆ Make() [2/2]

template<typename T >
static StructMeta dragon::TypeMeta::Make ( )
inlinestatic

◆ Match()

template<typename T >
bool dragon::TypeMeta::Match ( ) const
inline

◆ operator !=()

bool dragon::TypeMeta::operator != ( const TypeMeta other) const
inline

◆ operator=()

TypeMeta& dragon::TypeMeta::operator= ( const TypeMeta src)
inline

◆ operator==()

bool dragon::TypeMeta::operator== ( const TypeMeta other) const
inline

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