ZFFramework
 
Loading...
Searching...
No Matches
ZFObjectClassTypeFwd.h File Reference

types for ZFFramework More...

#include "../ZFCoreDef.h"

Go to the source code of this file.

Classes

class  ZFClassDataUpdateData
 data holder for ZFGlobalEvent::E_ClassDataUpdate More...
 

Macros

#define zfclass
 same as class, shows that this class is a ZFObject type
 
#define zfabstract
 typename for class showing that its abstract
 
#define ZFCORE_PARAM_WEAK(T_ParamType, paramName, ...)
 ZFObject weak version of ZFCORE_PARAM.
 
#define zftIsZFObject(Type)
 true if Type is ZFObject type or ZFInterface type
 
#define zftIsZFInterface(Type)
 true if Type is ZFObject type or ZFInterface type
 
#define zftIsZFObjectType(Type)
 true if Type can cast to ZFObject
 
#define ZFTOKEN_ZFClassDataUpdateTypeAttach
 string tokens
 
#define ZFTOKEN_ZFClassDataUpdateTypeDetach
 string tokens
 
#define ZFTOKEN_ZFClassDataUpdateTypeClassAliasAttach
 string tokens
 
#define ZFTOKEN_ZFClassDataUpdateTypeClassAliasDetach
 string tokens
 
#define ZFSerializeDisable
 special string to explicit disable serialization for impl
 

Enumerations

enum  ZFClassDataUpdateType { ZFClassDataUpdateTypeAttach , ZFClassDataUpdateTypeDetach , ZFClassDataUpdateTypeClassAliasAttach , ZFClassDataUpdateTypeClassAliasDetach }
 type for ZFGlobalEvent::E_ClassDataUpdate More...
 

Detailed Description

types for ZFFramework

Macro Definition Documentation

◆ zfclass

#define zfclass

same as class, shows that this class is a ZFObject type

we use some dummy macro to show the basic type of class:

  • zfclassFwd: forward declare for a type
  • zfclass: shows that it's a subclass of ZFObject, note that a ZFObject is always not a POD type and always can't be declared in stack
  • zfabstract: shows that it's a abstract class of ZFObject type
  • zfclassPOD: shows that it's a POD type
  • zfclassLikePOD: not POD type, but you may use it like POD, e.g. declare in stack, copy value by operator = (if available), except one limitation: must not memset to 0
  • zfclassNotPOD: shows that it's neither ZFObject nor POD type (or not designed as POD type), and usually should not be declared in stack or copy it by copy constructor or operator =
Warning
zfclassLikePOD is not actually a POD, usually has it's own constructor or destructor, so it's highly deprecated to declare a zfclassLikePOD as static variable, use ZF_GLOBAL_INITIALIZER_INIT or ZF_STATIC_INITIALIZER_INIT instead to declare in global

◆ zftIsZFObjectType

#define zftIsZFObjectType ( Type)

true if Type can cast to ZFObject

class with this method is treated can cast to ZFObject: ZFObject *toObject(void) const;

◆ ZFSerializeDisable

#define ZFSerializeDisable

special string to explicit disable serialization for impl

serializing would cause additional data storage and processing, explicitly disable serialization may improve performance for some case

Enumeration Type Documentation

◆ ZFClassDataUpdateType

type for ZFGlobalEvent::E_ClassDataUpdate

Enumerator
ZFClassDataUpdateTypeAttach 

attach

ZFClassDataUpdateTypeDetach 

detach

ZFClassDataUpdateTypeClassAliasAttach 

ZFClass::classAliasTo attach

ZFClassDataUpdateTypeClassAliasDetach 

ZFClass::classAliasTo detach