ZFFramework
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations
ZFObjectClassTypeFwd.h File Reference

types for ZFFramework More...

#include "../ZFCoreDef.h"

Go to the source code of this file.

Classes

class  ZFClassDataChangeData
 data holder for ZFGlobalEvent::EventClassDataChange 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_ZFClassDataChangeTypeAttach
 string tokens
 
#define ZFTOKEN_ZFClassDataChangeTypeDetach
 string tokens
 
#define ZFTOKEN_ZFClassDataChangeTypeClassAliasAttach
 string tokens
 
#define ZFTOKEN_ZFClassDataChangeTypeClassAliasDetach
 string tokens
 

Typedefs

typedef zfauto(* ZFObjectCreator) (void)
 function type to create object
 

Enumerations

enum  ZFClassDataChangeType { ZFClassDataChangeTypeAttach , ZFClassDataChangeTypeDetach , ZFClassDataChangeTypeClassAliasAttach , ZFClassDataChangeTypeClassAliasDetach }
 type for ZFGlobalEvent::EventClassDataChange 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;

Enumeration Type Documentation

◆ ZFClassDataChangeType

type for ZFGlobalEvent::EventClassDataChange

Enumerator
ZFClassDataChangeTypeAttach 

attach

ZFClassDataChangeTypeDetach 

detach

ZFClassDataChangeTypeClassAliasAttach 

ZFClass::classAliasTo attach

ZFClassDataChangeTypeClassAliasDetach 

ZFClass::classAliasTo detach