6#ifndef _ZFI_ZFContainer_h_
7#define _ZFI_ZFContainer_h_
96 ,
ZF_IN ZFObject *value
116 ZF_IN ZFObject *value
#define ZFLIB_ZFCore
used to export symbols
Definition ZFCoreEnvDef.h:30
#define ZF_OUT_OPT
dummy macro that shows the param used as optional output
Definition ZFCoreTypeDef_ClassType.h:203
#define zfextend
dummy macro shows class inherit from another
Definition ZFCoreTypeDef_ClassType.h:53
#define zfpurevirtual
dummy macro shows that a method is pure virtual method
Definition ZFCoreTypeDef_ClassType.h:68
#define zfoverride
dummy macro shows that method override parent's method
Definition ZFCoreTypeDef_ClassType.h:58
#define ZF_IN
dummy macro that shows the param used as required input
Definition ZFCoreTypeDef_ClassType.h:191
#define ZF_IN_OPT
dummy macro that shows the param used as optional input
Definition ZFCoreTypeDef_ClassType.h:195
#define ZF_IN_OUT
dummy macro that shows the param used as required input and output
Definition ZFCoreTypeDef_ClassType.h:207
_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 zfindexMax()
(zfindex)-1, indicate a max index value, see zfindex
Definition ZFCoreTypeDef_CoreType.h:159
#define zfnull
same as NULL, defined for future use
Definition ZFCoreTypeDef_CoreType.h:88
ZFCompareResult
compare result of two ZFObjects
Definition ZFCoreTypeDef_OtherType.h:28
zft_zfstring< zfchar > zfstring
see zft_zfstring
Definition ZFCoreTypeDef_StringType.h:15
#define ZFMP_IN_OUT(ParamType, paramName)
see ZFMP_IN
Definition ZFMethod.h:117
#define ZFMP_IN_OPT(ParamType, paramName, DefaultValue)
see ZFMP_IN
Definition ZFMethod.h:108
#define ZFMETHOD_DECLARE_2(ReturnType, MethodName, ZFMP_0, ZFMP_1)
see ZFMethod
Definition ZFMethodDeclare.h:1025
#define ZFMETHOD_DECLARE_3(ReturnType, MethodName, ZFMP_0, ZFMP_1, ZFMP_2)
see ZFMethod
Definition ZFMethodDeclare.h:1206
#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 related include.
#define zfabstract
typename for class showing that its abstract
Definition ZFObjectClassTypeFwd.h:42
#define ZFOBJECT_DECLARE_ABSTRACT(ChildClass, SuperClass,...)
necessary for every abstract class inherit from ZFObject
Definition ZFObjectDeclare.h:149
#define ZFEVENT(YourEvent)
see ZFObject::observerNotify
Definition ZFObjectObserver.h:316
#define ZFTokenForContainerDefault()
see ZFTokenForContainer, modifyable, ZFTokenForContainerTrim by default
Definition ZFToken.h:107
virtual void iterRemove(zfiter &it)=0
remove value at iter, see zfiter
virtual zfiter iterFind(ZFObject *element)=0
find element
virtual zfbool serializableOnSerializeToDataWithRef(ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull, ZFSerializable *refOwner=zft_zfnull)
see serializableOnSerializeToData
static zfidentity E_ContentOnAdd(void)
see ZFObject::observerNotify
virtual zfbool serializableOnCheck(void)
see serializable
virtual zfiter iterAdd(ZFObject *value)=0
add value to tail
virtual void contentOnUpdate(void)
see E_ContentOnUpdate
Definition ZFContainer.h:143
virtual zfany iterValue(const zfiter &it)=0
get value by iter, see zfiter
virtual zfstring objectInfoOfContent(zfindex maxCount=(((zfindex) -1)), const ZFTokenForContainer &token=(_ZFP_ZFTokenForContainerDefault))
see objectInfoOfContentT
virtual void addFrom(ZFContainer *another)=0
add data from another container
virtual ZFCompareResult objectCompareValueImpl(ZFObject *anotherObj)
see objectCompareValue
virtual void objectInfoImpl(zfstring &ret)
see objectInfo
Definition ZFContainer.h:199
static zfidentity E_ContentOnRemove(void)
see ZFObject::observerNotify
virtual void contentOnAdd(ZFObject *element)
see E_ContentOnAdd
Definition ZFContainer.h:147
virtual void contentOnRemove(ZFObject *element)
see E_ContentOnRemove
Definition ZFContainer.h:151
static zfidentity E_ContentOnUpdate(void)
see ZFObject::observerNotify
virtual void styleableOnCopyFrom(ZFObject *anotherStyleable)
for subclass to achieve custom style copy step, called by copyFrom, see ZFStyleable
virtual void objectOnDeallocPrepare(void)
called before objectOnDealloc, safe to call virtual functions here
virtual void removeAll(void)=0
remove all contents of this iterable
virtual zfbool serializableOnSerializeToData(ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull, ZFSerializable *refOwner=zft_zfnull)
see ZFSerializable::serializableOnSerializeToData
virtual void objectInfoOfContentT(zfstring &ret, zfindex maxCount=(((zfindex) -1)), const ZFTokenForContainer &token=(_ZFP_ZFTokenForContainerDefault))
return a short string describe the content
virtual zfindex count(void)=0
return total count of this iterable
virtual zfbool serializableOnSerializeFromData(const ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull, ZFSerializableData *outErrorPos=zft_zfnull)
for serializable data that has "category" attribute, ZFSerializable would ignore it and leave it to s...
virtual zfiter iter(void)=0
return a iter, see zfiter
void observerNotify(zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull)
notify the observer with eventId
ZFSerializable's data container, see ZFSerializable.
Definition ZFSerializableData.h:74
util class to hold string tokens
Definition ZFToken.h:17
util method to cast ZFObject types freely
Definition zfany.h:35
iterator for ZFFramework
Definition zfiter.h:40