IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Classes | Namespaces | Macros | Functions
SerializationHdrMacro.h File Reference

Header part of macros set for class serialization. More...

#include <IPSDKUtil/Dynamic/DynamicHdrMacro.h>
#include <IPSDKUtil/Tools/ProcessingResultTypes.h>
#include <IPSDKUtil/Tools/BaseMacros.h>
#include <boost/utility/enable_if.hpp>
#include <boost/type_traits/is_same.hpp>
#include <boost/type_traits/is_base_of.hpp>
#include <boost/mpl/and.hpp>
#include <boost/mpl/not.hpp>

Go to the source code of this file.

Classes

class  ipsdk::SerializationOItem< T >
 Item used to format outputs during serialization. More...
 
class  ipsdk::SerializationIItem< T >
 Item used to format inputs during serialization. More...
 

Namespaces

 ipsdk
 Main namespace for IPSDK library.
 

Macros

#define IPSDK_DECLARE_SERIAL(libraryName, className)
 macro enabling serialization on class More...
 
#define IPSDK_DECLARE_SERIAL_WITH_COPY(libraryName, className)
 macro enabling serialization on class More...
 
#define IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className)
 macro enabling serialization on class More...
 
#define IPSDK_DECLARE_ABSTRACT_SERIAL(libraryName, className)   IPSDK_DECLARE_SERIAL(libraryName, className)
 macro enabling serialization on abstract class
 
#define IPSDK_DECLARE_ABSTRACT_SERIAL_WITH_COPY(libraryName, className)
 macro enabling serialization on abstract class More...
 
#define IPSDK_DECLARE_ABSTRACT_SERIAL_WITHOUT_COPY(libraryName, className)
 macro enabling serialization on abstract class More...
 

Functions

template<typename T >
boost::enable_if_c< boost::mpl::and_< typename boost::is_base_of< ipsdk::BaseSerializationObject, T >::type, typename boost::mpl::not_< typename boost::is_same< ipsdk::BaseSerializationObject, T >::type >::type >::value, ipsdk::BaseIArchive & >::type ipsdk::operator>> (ipsdk::BaseIArchive &ar, const ipsdk::SerializationIItem< T *> &item)
 
template<typename T >
boost::enable_if_c< boost::mpl::and_< typename boost::is_base_of< ipsdk::BaseSerializationObject, T >::type, typename boost::mpl::not_< typename boost::is_same< ipsdk::BaseSerializationObject, T >::type >::type >::value, ipsdk::BaseIArchive & >::type ipsdk::operator>> (ipsdk::BaseIArchive &ar, const ipsdk::SerializationIItem< T > &item)
 template operators allowing to serialize objects deriving from BaseSerializationObject
 
template<typename T >
boost::enable_if_c< boost::mpl::and_< typename boost::is_base_of< ipsdk::BaseSerializationObject, T >::type, typename boost::mpl::not_< typename boost::is_same< ipsdk::BaseSerializationObject, T >::type >::type >::value, ipsdk::BaseOArchive & >::type ipsdk::operator<< (ipsdk::BaseOArchive &ar, const ipsdk::SerializationOItem< T > &item)
 template operators allowing to serialize objects deriving from BaseSerializationObject
 

Detailed Description

Header part of macros set for class serialization.

Author
E. Noirfalise
Date
2013/2/15

Macro Definition Documentation

◆ IPSDK_DECLARE_SERIAL

#define IPSDK_DECLARE_SERIAL (   libraryName,
  className 
)
Value:
public: \
static ipsdk::ipUInt32 getVersion(); \
protected: \
virtual ipsdk::BoolResult write(ipsdk::BaseOArchive& ar) const; \
Base class for serialization input archives.
Definition: BaseIArchive.h:36
Base class for serialization output archives.
Definition: BaseOArchive.h:35
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53

macro enabling serialization on class

◆ IPSDK_DECLARE_SERIAL_WITH_COPY

#define IPSDK_DECLARE_SERIAL_WITH_COPY (   libraryName,
  className 
)
Value:
IPSDK_DECLARE_DYNAMIC_WITH_COPY(libraryName, className) \
IPSDK_DECLARE_SERIAL(libraryName, className)
#define IPSDK_DECLARE_DYNAMIC_WITH_COPY(libraryName, className)
macro enabling dynamic properties on class and copy support
Definition: DynamicHdrMacro.h:83

macro enabling serialization on class

◆ IPSDK_DECLARE_SERIAL_WITHOUT_COPY

#define IPSDK_DECLARE_SERIAL_WITHOUT_COPY (   libraryName,
  className 
)
Value:
IPSDK_DECLARE_DYNAMIC_WITHOUT_COPY(libraryName, className) \
IPSDK_DECLARE_SERIAL(libraryName, className)
#define IPSDK_DECLARE_DYNAMIC_WITHOUT_COPY(libraryName, className)
macro enabling dynamic properties on class and disabling copy support
Definition: DynamicHdrMacro.h:89

macro enabling serialization on class

◆ IPSDK_DECLARE_ABSTRACT_SERIAL_WITH_COPY

#define IPSDK_DECLARE_ABSTRACT_SERIAL_WITH_COPY (   libraryName,
  className 
)
Value:
IPSDK_DECLARE_ABSTRACT_SERIAL(libraryName, className)
#define IPSDK_DECLARE_ABSTRACT_DYNAMIC_WITH_COPY(libraryName, className)
macro enabling dynamic properties on abstract class and copy support
Definition: DynamicHdrMacro.h:95

macro enabling serialization on abstract class

◆ IPSDK_DECLARE_ABSTRACT_SERIAL_WITHOUT_COPY

#define IPSDK_DECLARE_ABSTRACT_SERIAL_WITHOUT_COPY (   libraryName,
  className 
)
Value:
IPSDK_DECLARE_ABSTRACT_SERIAL(libraryName, className)
#define IPSDK_DECLARE_ABSTRACT_DYNAMIC_WITHOUT_COPY(libraryName, className)
macro enabling dynamic properties on abstract class and disabling copy support
Definition: DynamicHdrMacro.h:102

macro enabling serialization on abstract class