16 #ifndef __IPSDKBASEDATA_PTRCOLLSRCMACROS_H__ 17 #define __IPSDKBASEDATA_PTRCOLLSRCMACROS_H__ 20 #include <IPSDKSerialization/Engine/BaseObjectWithSkeleton.h> 21 #include <boost/type_traits/is_base_of.hpp> 29 #define IPSDK_IMPLEMENT_PTR_COLL(libraryName, namespaceSeq, className) \ 30 IPSDK_IMPLEMENT_SERIAL_WITHOUT_COPY(libraryName, namespaceSeq, className, 1) \ 31 const std::string& className::getElementsClassName() const { \ 32 return className::getTypeName(); \ 34 bool className::haveSkeleton() const { \ 35 return boost::is_base_of<ipsdk::BaseObjectWithSkeleton, ValueType>::value; \ 37 const className::ConstCollType& className::getColl() const { \ 38 return reinterpret_cast<const ConstCollType&>(getBaseColl()); \ 40 className::CollType& className::getColl() { \ 41 return reinterpret_cast<CollType&>(getBaseColl()); \ 43 IPSDK_IMPLEMENT_SERIAL_WRITE(className, BasePtrColl) \ 46 IPSDK_IMPLEMENT_SERIAL_READ(className, BasePtrColl) \ 53 #endif // __IPSDKBASEDATA_PTRCOLLSRCMACROS_H__ Source part of macros set for class serialization.