IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Macros
PtrCollSrcMacros.h File Reference

Source part of collection of shared pointer to serializable objects implementation macros. More...

#include <IPSDKSerialization/Engine/SerializationSrcMacro.h>
#include <IPSDKSerialization/Engine/BaseObjectWithSkeleton.h>
#include <boost/type_traits/is_base_of.hpp>

Go to the source code of this file.

Macros

#define IPSDK_IMPLEMENT_PTR_COLL(libraryName, namespaceSeq, className)
 macro allowing to implement a collection of shared pointer to serializable objects More...
 

Detailed Description

Source part of collection of shared pointer to serializable objects implementation macros.

Author
E. Noirfalise
Date
2015/06/18

Macro Definition Documentation

◆ IPSDK_IMPLEMENT_PTR_COLL

#define IPSDK_IMPLEMENT_PTR_COLL (   libraryName,
  namespaceSeq,
  className 
)
Value:
IPSDK_IMPLEMENT_SERIAL_WITHOUT_COPY(libraryName, namespaceSeq, className, 1) \
const std::string& className::getElementsClassName() const { \
return className::getTypeName(); \
} \
bool className::haveSkeleton() const { \
return boost::is_base_of<ipsdk::BaseObjectWithSkeleton, ValueType>::value; \
} \
const className::ConstCollType& className::getColl() const { \
return reinterpret_cast<const ConstCollType&>(getBaseColl()); \
} \
className::CollType& className::getColl() { \
return reinterpret_cast<CollType&>(getBaseColl()); \
} \
IPSDK_IMPLEMENT_SERIAL_WRITE(className, BasePtrColl) \
return true; \
} \
IPSDK_IMPLEMENT_SERIAL_READ(className, BasePtrColl) \
return true; \
}
#define IPSDK_IMPLEMENT_SERIAL_WITHOUT_COPY(libraryName, namespaceSeq, className, version)
macro enabling class serialization in library class
Definition: SerializationSrcMacro.h:57

macro allowing to implement a collection of shared pointer to serializable objects