ZFFramework
 
Loading...
Searching...
No Matches
ZFTypeId< T_Type, T_isZFObject, T_isPointer > Class Template Reference

type data traits for ZFTYPEID_DECLARE More...

#include <ZFTypeIdFwd.h>

Inheritance diagram for ZFTypeId< T_Type, T_isZFObject, T_isPointer >:
ZFTypeInfo

Classes

class  Value
 try access as raw value More...
 

Public Types

enum  { TypeIdRegistered , TypeIdSerializable }
 

Static Public Member Functions

static const zfstringTypeId (void)
 get type id, or return ZFTypeId_none if not registered
 
static zfbool ValueStore (zfauto &obj, T_Type const &v)
 store the value to wrapper object
 

Additional Inherited Members

- Public Member Functions inherited from ZFTypeInfo
virtual zfbool typeIdSerializable (void) const =0
 see ZFTypeId::TypeIdSerializable
 
virtual const zfstringtypeId (void) const =0
 the type id
 
virtual const ZFClasstypeIdClass (void) const =0
 return the proper wrapper type class if available
 
virtual zfbool genericValueStore (zfauto &obj, const void *v) const =0
 advanced generic value access
 
virtual void * genericAccess (zfauto &obj) const =0
 see genericValueStore
 
virtual void genericAccessFinish (zfauto &obj, void *v) const =0
 see genericValueStore
 
virtual ZFCoreArrayBasegenericArrayNew (void) const =0
 create generic array type
 

Detailed Description

template<typename T_Type, int T_isZFObject = (zftIsSame<typename zftTraits<T_Type>::TrType, ZFObject>::Value || (_ZFP_ClsHM_ObjCk__ZFP_zftIsZFObject<typename zftTraits<T_Type>::TrType>::value ? 1 : 0) ), int T_isPointer = zftTraits<T_Type>::TrIsPtr>
class ZFTypeId< T_Type, T_isZFObject, T_isPointer >

type data traits for ZFTYPEID_DECLARE

for advanced reflection use only
type must be registered by ZFTYPEID_DECLARE before use this template, and T_Type must be plain type without reference, use zftTraits::TrNoRef if necessary

Member Enumeration Documentation

◆ anonymous enum

template<typename T_Type, int T_isZFObject = (zftIsSame<typename zftTraits<T_Type>::TrType, ZFObject>::Value || (_ZFP_ClsHM_ObjCk__ZFP_zftIsZFObject<typename zftTraits<T_Type>::TrType>::value ? 1 : 0) ), int T_isPointer = zftTraits<T_Type>::TrIsPtr>
anonymous enum
Enumerator
TypeIdRegistered 

whether this type already registered

type is registered if declared by any of these:

TypeIdSerializable 

whether this type can be serialized

type is serializable if declared by any of these:

Member Function Documentation

◆ ValueStore()

template<typename T_Type, int T_isZFObject = (zftIsSame<typename zftTraits<T_Type>::TrType, ZFObject>::Value || (_ZFP_ClsHM_ObjCk__ZFP_zftIsZFObject<typename zftTraits<T_Type>::TrType>::value ? 1 : 0) ), int T_isPointer = zftTraits<T_Type>::TrIsPtr>
static zfbool ZFTypeId< T_Type, T_isZFObject, T_isPointer >::ValueStore ( zfauto & obj,
T_Type const & v )
static

store the value to wrapper object

the stored value can be further accessed by ZFTypeId::Value


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