6#ifndef _ZFI_zfautoFwd_h_
7#define _ZFI_zfautoFwd_h_
40 template<
typename T_ZFObject>
46 template<
typename T_ZFObject>
50 template<
typename T_ZFObject>
51 inline zfbool operator == (
ZF_IN T_ZFObject
const &obj)
const {
52 return this->
toObject() == _ZFP_zfanyCast(obj);
54 template<
typename T_ZFObject>
55 inline zfbool operator != (
ZF_IN T_ZFObject
const &obj)
const {
56 return this->
toObject() != _ZFP_zfanyCast(obj);
60 inline ZFObject *operator -> (
void)
const {
63 inline operator ZFObject * (void)
const {
66 template<
typename T_ZFObject>
67 inline operator T_ZFObject * (void)
const;
70 static const ZFClass *ClassData(
void);
97 template<
typename T_ZFObject>
98 inline T_ZFObject
to(
void)
const;
109template<
typename T_ZFObjectBase>
117 template<
typename T_ZFObject>
122 zfauto::operator = (obj);
126 zfauto::operator = ((
zfauto const &)obj);
129 template<
typename T_ZFObject>
131 zfauto::operator = (obj);
136 template<
typename T_ZFObject>
137 inline zfbool operator == (
ZF_IN T_ZFObject
const &obj)
const {
138 return this->
toObject() == _ZFP_zfanyCast(obj);
140 template<
typename T_ZFObject>
141 inline zfbool operator != (
ZF_IN T_ZFObject
const &obj)
const {
142 return this->
toObject() != _ZFP_zfanyCast(obj);
146 T_ZFObjectBase *operator -> (
void)
const;
154 static const ZFClass *ClassData(
void);
160template<
typename T_ZFObject>
162 return e.toObject() == _ZFP_zfanyCast(obj);
164template<
typename T_ZFObject>
166 return e.toObject() != _ZFP_zfanyCast(obj);
170template<
typename T_ZFObject,
typename T_ZFObjectBase>
172 return e.toObject() == _ZFP_zfanyCast(obj);
174template<
typename T_ZFObject,
typename T_ZFObjectBase>
176 return e.toObject() != _ZFP_zfanyCast(obj);
#define ZFLIB_ZFCore
used to export symbols
Definition ZFCoreEnvDef.h:30
#define zffinal
dummy macro shows that a method or class is designed must not to be overrided
Definition ZFCoreTypeDef_ClassType.h:63
#define zfclassLikePOD
shows the class is not a POD type, but you may use it like a POD except memset it to 0
Definition ZFCoreTypeDef_ClassType.h:41
#define zfextend
dummy macro shows class inherit from another
Definition ZFCoreTypeDef_ClassType.h:53
#define ZF_IN
dummy macro that shows the param used as required input
Definition ZFCoreTypeDef_ClassType.h:180
_ZFT_t_zfbool zfbool
bool type
Definition ZFCoreTypeDef_CoreType.h:103
_ZFT_t_zfindex zfindex
similar to size_t, used for index and size only
Definition ZFCoreTypeDef_CoreType.h:154
#define zfnull
same as NULL, defined for future use
Definition ZFCoreTypeDef_CoreType.h:88
#define ZF_NAMESPACE_GLOBAL_BEGIN
begin namespace ZFFramework
Definition ZFNamespace.h:97
#define ZF_NAMESPACE_GLOBAL_END
end namespace ZFFramework
Definition ZFNamespace.h:98
ZFObject's class info.
Definition ZFClass.h:67
base class of all objects
Definition ZFObjectCore.h:209
util method to cast ZFObject types freely
Definition zfany.h:35
a ZFObject holder which would release content object automatically when destroyed
Definition zfautoFwd.h:34
T_ZFObject to(void) const
cast by zfcast
void zfunsafe_assign(ZFObject *obj)
no lock version of object assign, for low level impl only
ZFObject * toObject(void) const
get the holded object
Definition zfautoFwd.h:91
zfindex objectRetainCount(void) const
get current retain count
const zfany & asAny(void) const
access as zfany
Definition zfautoFwd.h:77
type restrict version of zfauto
Definition zfautoFwd.h:110
util class to cast ZFObject types freely