IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
PtrCollSrcMacros.h
Go to the documentation of this file.
1 // PtrCollSrcMacros.h:
3 // -------------------
4 //
15 
16 #ifndef __IPSDKBASEDATA_PTRCOLLSRCMACROS_H__
17 #define __IPSDKBASEDATA_PTRCOLLSRCMACROS_H__
18 
20 #include <IPSDKSerialization/Engine/BaseObjectWithSkeleton.h>
21 #include <boost/type_traits/is_base_of.hpp>
22 
25 
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(); \
33  } \
34  bool className::haveSkeleton() const { \
35  return boost::is_base_of<ipsdk::BaseObjectWithSkeleton, ValueType>::value; \
36  } \
37  const className::ConstCollType& className::getColl() const { \
38  return reinterpret_cast<const ConstCollType&>(getBaseColl()); \
39  } \
40  className::CollType& className::getColl() { \
41  return reinterpret_cast<CollType&>(getBaseColl()); \
42  } \
43  IPSDK_IMPLEMENT_SERIAL_WRITE(className, BasePtrColl) \
44  return true; \
45  } \
46  IPSDK_IMPLEMENT_SERIAL_READ(className, BasePtrColl) \
47  return true; \
48  }
49 
52 
53 #endif // __IPSDKBASEDATA_PTRCOLLSRCMACROS_H__
Source part of macros set for class serialization.