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

Detailed header part of data item node declaration macros. More...

#include <IPSDKBaseData/DataItem/Node/BaseDataItemNode.h>
#include <IPSDKBaseData/DataItem/NodeColl/DataItemNodeColl.h>
#include <IPSDKBaseData/DataItem/Leaf/DataItemLeaf.h>
#include <IPSDKBaseData/DataItem/Leaf/DataItemEnumLeaf.h>
#include <IPSDKBaseData/DataItem/LeafColl/DataItemLeafColl.h>
#include <IPSDKBaseData/DataItem/Map/DataItemMap.h>
#include <IPSDKUtil/Tools/ObjectBaseInfoHdrMacros.h>
#include <boost/preprocessor/seq.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/type_traits/is_same.hpp>
#include <boost/mpl/less.hpp>
#include <boost/mpl/greater_equal.hpp>
#include <boost/smart_ptr/make_shared_object.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...
 
class  boost::lock_guard< Mutex >
 

Namespaces

 ipsdk
 Main namespace for IPSDK library.
 

Macros

#define IPSDK_NODE_DATA_ACCESS_MACRO(r, infoSeq, idx, childElem)
 [Internal] macro allowing to declare node attribute accessors
 
#define IPSDK_NODE_DATA_GET_DEFAULT_NONE(childName, defaultValue)
 [Internal] macro allowing to avoid to retrieve default value
 
#define IPSDK_NODE_DATA_FIND_NODE_MACRO(r, infoSeq, childElem)
 [Internal] macro allowing to find a sub node given a node name More...
 
#define IPSDK_NODE_DATA_DECLARE_NODE_MACRO(r, itemName, childElem)
 [Internal] macro allowing to declare a sub node class attribute More...
 
#define IPSDK_NODE_DATA_ENUM_NAMES_MACRO(r, _, childElem)   g_itemNames.insert(BOOST_PP_STRINGIZE(BOOST_PP_SEQ_ELEM(1, childElem)));
 [Internal] macro allowing to initialize item names collection
 
#define IPSDK_NODE_DATA_INIT_MACRO(r, _, childElem)
 [Internal] macro allowing to initialize item data with default value More...
 
#define IPSDK_NODE_DATA_WRITE_MACRO(r, _, childElem)
 [Internal] macro allowing to write item data for serialization More...
 
#define IPSDK_NODE_DATA_READ_MACRO(r, _, childElem)
 [Internal] macro allowing to read item data for serialization More...
 
#define IPSDK_NODE_DATA_COPY_MACRO(r, _, childElem)
 [Internal] macro allowing to copy item data for object copy More...
 
#define IPSDK_NODE_DATA_STD_INFO(libraryName, className, childName)
 [Internal] macro allowing to define standard method getItemInfoStr for item information structure More...
 
#define IPSDK_NODE_DATA_TYPE_LEAF(valueType)   ipsdk::DataItemLeaf<valueType>
 [Internal] macro allowing to define type associated to leafs
 
#define IPSDK_NODE_DATA_INFO_LEAF(libraryName, className, childElem)
 [Internal] macro allowing to define informations associated to leafs More...
 
#define IPSDK_NODE_DATA_ACCESS_LEAF(childElem, className)
 [Internal] macro allowing to define accessors associated to leafs More...
 
#define IPSDK_NODE_DATA_ACCESS_LEAF_MACRO(childName, valueType, className)
 [Internal] macro allowing to define accessors associated to leafs More...
 
#define IPSDK_NODE_DATA_INIT_LEAF(childName, defaultValue)   BOOST_PP_CAT(_node, childName)._node.setValue(defaultValue);
 [Internal] macro allowing to initialize default value associated to leafs
 
#define IPSDK_NODE_DATA_GET_DEFAULT_LEAF(childName, defaultValue)
 [Internal] macro allowing to retrieve default value associated to leafs More...
 
#define IPSDK_NODE_DATA_READ_LEAF(childName)
 [Internal] macro allowing to define read operation associated to leafs More...
 
#define IPSDK_NODE_DATA_WRITE_LEAF(childName)
 [Internal] macro allowing to define write operation associated to leafs More...
 
#define IPSDK_NODE_DATA_TYPE_ENUMLEAF(valueType)   ipsdk::DataItemEnumLeaf<valueType>
 [Internal] macro allowing to define type associated to enumerate leafs
 
#define IPSDK_NODE_DATA_INFO_ENUMLEAF(libraryName, className, childElem)
 [Internal] macro allowing to define informations associated to enumerate leafs More...
 
#define IPSDK_NODE_DATA_ACCESS_ENUMLEAF(childElem, className)
 [Internal] macro allowing to define accessors associated to enumerate leafs More...
 
#define IPSDK_NODE_DATA_ACCESS_ENUMLEAF_MACRO(childName, valueType, className)
 [Internal] macro allowing to define accessors associated to enumerate leafs More...
 
#define IPSDK_NODE_DATA_INIT_ENUMLEAF(childName, defaultValue)   BOOST_PP_CAT(_node, childName)._node.setValue(defaultValue);
 [Internal] macro allowing to initialize default value associated to enumerate leafs
 
#define IPSDK_NODE_DATA_GET_DEFAULT_ENUMLEAF(childName, defaultValue)
 [Internal] macro allowing to retrieve default value associated to enumerate leafs More...
 
#define IPSDK_NODE_DATA_READ_ENUMLEAF(childName)
 [Internal] macro allowing to define read operation associated to enumerate leafs More...
 
#define IPSDK_NODE_DATA_WRITE_ENUMLEAF(childName)
 [Internal] macro allowing to define write operation associated to enumerate leafs More...
 
#define IPSDK_NODE_DATA_TYPE_LEAF_COLL(valueType)   ipsdk::DataItemLeafColl<valueType>
 [Internal] macro allowing to define type associated to to leaf collections
 
#define IPSDK_NODE_DATA_INFO_LEAF_COLL(libraryName, className, childElem)
 [Internal] macro allowing to define informations associated to leaf collections More...
 
#define IPSDK_NODE_DATA_ACCESS_LEAF_COLL(childElem, className)
 [Internal] macro allowing to define accessors associated to leaf collections More...
 
#define IPSDK_NODE_DATA_ACCESS_LEAF_COLL_MACRO(childName, valueType, className)
 [Internal] macro allowing to define accessors associated to leaf collections
 
#define IPSDK_NODE_DATA_INIT_LEAF_COLL(childName, defaultValue)   BOOST_PP_CAT(_node, childName)._node.getLeafColl() = defaultValue;
 [Internal] macro allowing to initialize default value associated to leaf collections
 
#define IPSDK_NODE_DATA_GET_DEFAULT_LEAF_COLL(childName, defaultValue)
 [Internal] macro allowing to retrieve default value associated to leaf collections More...
 
#define IPSDK_NODE_DATA_READ_LEAF_COLL(childName)
 [Internal] macro allowing to define read operation associated to leaf collections More...
 
#define IPSDK_NODE_DATA_WRITE_LEAF_COLL(childName)
 [Internal] macro allowing to define write operation associated to leaf collections More...
 
#define IPSDK_NODE_DATA_TYPE_NODE(valueType)   valueType
 [Internal] macro allowing to define type associated to nodes
 
#define IPSDK_NODE_DATA_INFO_NODE(libraryName, className, childElem)
 [Internal] macro allowing to define informations associated to nodes More...
 
#define IPSDK_NODE_DATA_ACCESS_NODE(childElem, className)
 [Internal] macro allowing to define accessors associated to nodes More...
 
#define IPSDK_NODE_DATA_ACCESS_NODE_MACRO(childName, valueType, className)
 [Internal] macro allowing to define accessors associated to nodes
 
#define IPSDK_NODE_DATA_INIT_NODE(childName, defaultValue)   BOOST_PP_CAT(_node, childName)._node = defaultValue;
 [Internal] macro allowing to initialize default value associated to nodes
 
#define IPSDK_NODE_DATA_GET_DEFAULT_NODE(childName, defaultValue)
 [Internal] macro allowing to retrieve default value associated to nodes More...
 
#define IPSDK_NODE_DATA_READ_NODE(childName)
 [Internal] macro allowing to define read operation associated nodes More...
 
#define IPSDK_NODE_DATA_WRITE_NODE(childName)
 [Internal] macro allowing to define write operation associated nodes More...
 
#define IPSDK_NODE_DATA_TYPE_NODE_COLL(valueType)   ipsdk::DataItemNodeColl<valueType>
 [Internal] macro allowing to define type associated to node collections
 
#define IPSDK_NODE_DATA_INFO_NODE_COLL(libraryName, className, childElem)
 [Internal] macro allowing to define informations associated to node collections More...
 
#define IPSDK_NODE_DATA_ACCESS_NODE_COLL(childElem, className)
 [Internal] macro allowing to define accessors associated to node collections More...
 
#define IPSDK_NODE_DATA_ACCESS_NODE_COLL_MACRO(childName, valueType, className)
 [Internal] macro allowing to define accessors associated to node collections
 
#define IPSDK_NODE_DATA_INIT_NODE_COLL(childName, defaultValue)   BOOST_PP_CAT(_node, childName).getNodeColl() = defaultValue;
 [Internal] macro allowing to initialize default value associated to node collections
 
#define IPSDK_NODE_DATA_GET_DEFAULT_NODE_COLL(childName, defaultValue)
 [Internal] macro allowing to retrieve default value associated to node collections More...
 
#define IPSDK_NODE_DATA_READ_NODE_COLL(childName)
 [Internal] macro allowing to define read operation associated to node collections More...
 
#define IPSDK_NODE_DATA_WRITE_NODE_COLL(childName)
 [Internal] macro allowing to define write operation associated to node collections More...
 
#define IPSDK_NODE_DATA_TYPE_MAP()   ipsdk::DataItemMap
 [Internal] macro allowing to define type associated to node maps
 
#define IPSDK_NODE_DATA_INFO_MAP(libraryName, className, childElem)
 [Internal] macro allowing to define informations associated to node maps More...
 
#define IPSDK_NODE_DATA_ACCESS_MAP(childElem, className)
 [Internal] macro allowing to define accessors associated to node maps More...
 
#define IPSDK_NODE_DATA_ACCESS_MAP_MACRO(childName, className)
 [Internal] macro allowing to define accessors associated to node maps
 
#define IPSDK_NODE_DATA_INIT_MAP(childName, defaultValue)   BOOST_PP_CAT(_node, childName)._node = defaultValue;
 [Internal] macro allowing to initialize default value associated to node maps
 
#define IPSDK_NODE_DATA_GET_DEFAULT_MAP(childName, defaultValue)
 [Internal] macro allowing to retrieve default value associated to node maps More...
 
#define IPSDK_NODE_DATA_READ_MAP(childName)
 [Internal] macro allowing to define read operation associated to node maps More...
 
#define IPSDK_NODE_DATA_WRITE_MAP(childName)
 [Internal] macro allowing to define write operation associated to node maps More...
 

Functions

template<typename T >
SerializationOItem< T > ipsdk::make_oitem (const std::string &itemName, const T &value)
 template function allowing to dynamically create SerializationOItem
 
template<typename T >
SerializationIItem< T > ipsdk::make_iitem (const std::string &itemName, T &value)
 template function allowing to dynamically create SerializationIItem
 

Detailed Description

Detailed header part of data item node declaration macros.

Author
E. Noirfalise
Date
2014/03/11

Macro Definition Documentation

◆ IPSDK_NODE_DATA_FIND_NODE_MACRO

#define IPSDK_NODE_DATA_FIND_NODE_MACRO (   r,
  infoSeq,
  childElem 
)
Value:
if (BOOST_PP_SEQ_ELEM(0, infoSeq) == \
BOOST_PP_STRINGIZE(BOOST_PP_SEQ_ELEM(1, childElem))) { \
const ItemInfoStr& itemInfoStr = \
ChildNodeInfo<BOOST_PP_SEQ_ELEM(1, childElem)>:: \
getItemInfoStr<BOOST_PP_SEQ_ELEM(1, infoSeq)>(); \
ItemInfoPtr pItemInfo(boost::make_shared<ItemInfo>( \
BOOST_PP_CAT(_node, BOOST_PP_SEQ_ELEM(1, childElem))._node, \
itemInfoStr._itemName, itemInfoStr._itemToolTip)); \
return pItemInfo; \
}

[Internal] macro allowing to find a sub node given a node name

◆ IPSDK_NODE_DATA_DECLARE_NODE_MACRO

#define IPSDK_NODE_DATA_DECLARE_NODE_MACRO (   r,
  itemName,
  childElem 
)
Value:
NodeAccessor<ChildNodeInfo<BOOST_PP_SEQ_ELEM(1, childElem)>::NodeType> \
BOOST_PP_CAT(_node, BOOST_PP_SEQ_ELEM(1, childElem));

[Internal] macro allowing to declare a sub node class attribute

◆ IPSDK_NODE_DATA_INIT_MACRO

#define IPSDK_NODE_DATA_INIT_MACRO (   r,
  _,
  childElem 
)
Value:
BOOST_PP_EXPR_IF(BOOST_PP_EQUAL(BOOST_PP_SEQ_SIZE(childElem), 4), \
BOOST_PP_CAT(IPSDK_NODE_DATA_INIT_, BOOST_PP_SEQ_ELEM(0, childElem)) \
(BOOST_PP_SEQ_ELEM(1, childElem), \
BOOST_PP_SEQ_ELEM(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(childElem)), \
childElem)));

[Internal] macro allowing to initialize item data with default value

◆ IPSDK_NODE_DATA_WRITE_MACRO

#define IPSDK_NODE_DATA_WRITE_MACRO (   r,
  _,
  childElem 
)
Value:
BOOST_PP_CAT(IPSDK_NODE_DATA_WRITE_, BOOST_PP_SEQ_ELEM(0, childElem)) \
(BOOST_PP_SEQ_ELEM(1, childElem))

[Internal] macro allowing to write item data for serialization

◆ IPSDK_NODE_DATA_READ_MACRO

#define IPSDK_NODE_DATA_READ_MACRO (   r,
  _,
  childElem 
)
Value:
BOOST_PP_CAT(IPSDK_NODE_DATA_READ_, BOOST_PP_SEQ_ELEM(0, childElem)) \
(BOOST_PP_SEQ_ELEM(1, childElem))

[Internal] macro allowing to read item data for serialization

◆ IPSDK_NODE_DATA_COPY_MACRO

#define IPSDK_NODE_DATA_COPY_MACRO (   r,
  _,
  childElem 
)
Value:
BOOST_PP_CAT(_node, BOOST_PP_SEQ_ELEM(1, childElem))._node = \
pObject->BOOST_PP_CAT(_node, BOOST_PP_SEQ_ELEM(1, childElem))._node;

[Internal] macro allowing to copy item data for object copy

◆ IPSDK_NODE_DATA_STD_INFO

#define IPSDK_NODE_DATA_STD_INFO (   libraryName,
  className,
  childName 
)
Value:
template <typename MsgEnumType> \
static const ItemInfoStr& getItemInfoStr() { \
boost::lock_guard<boost::mutex> lock(getDataItemNodeMutex()); \
static boost::shared_ptr<ItemInfoStr> g_pItemInfoStr; \
if (g_pItemInfoStr.get() == 0) { \
static std::string g_nameId = BOOST_PP_STRINGIZE(childName); \
static std::string g_toolTipId = createMessage(MsgEnumType:: \
BOOST_PP_CAT(e, \
BOOST_PP_CAT(className, \
BOOST_PP_CAT(childName, ToolTipId)))); \
g_pItemInfoStr = boost::make_shared<ItemInfoStr>( \
g_nameId, g_toolTipId); \
} \
return *g_pItemInfoStr; \
}

[Internal] macro allowing to define standard method getItemInfoStr for item information structure

◆ IPSDK_NODE_DATA_INFO_LEAF

#define IPSDK_NODE_DATA_INFO_LEAF (   libraryName,
  className,
  childElem 
)
Value:
IPSDK_NODE_DATA_STD_INFO(libraryName, className, BOOST_PP_SEQ_ELEM(1, childElem)); \
typedef IPSDK_NODE_DATA_TYPE_LEAF(BOOST_PP_SEQ_ELEM(2, childElem)) NodeType; \
typedef IPSDK_NODE_DATA_TYPE_LEAF(BOOST_PP_SEQ_ELEM(2, childElem))::ValueType ValueType;
#define IPSDK_NODE_DATA_STD_INFO(libraryName, className, childName)
[Internal] macro allowing to define standard method getItemInfoStr for item information structure ...
Definition: DataItemNodeHdrMacrosDetails.h:172
#define IPSDK_NODE_DATA_TYPE_LEAF(valueType)
[Internal] macro allowing to define type associated to leafs
Definition: DataItemNodeHdrMacrosDetails.h:194

[Internal] macro allowing to define informations associated to leafs

◆ IPSDK_NODE_DATA_ACCESS_LEAF

#define IPSDK_NODE_DATA_ACCESS_LEAF (   childElem,
  className 
)
Value:
BOOST_PP_SEQ_ELEM(1, childElem), \
BOOST_PP_SEQ_ELEM(2, childElem), \
className)
#define IPSDK_NODE_DATA_ACCESS_LEAF_MACRO(childName, valueType, className)
[Internal] macro allowing to define accessors associated to leafs
Definition: DataItemNodeHdrMacrosDetails.h:214

[Internal] macro allowing to define accessors associated to leafs

◆ IPSDK_NODE_DATA_ACCESS_LEAF_MACRO

#define IPSDK_NODE_DATA_ACCESS_LEAF_MACRO (   childName,
  valueType,
  className 
)
Value:
template <typename ChildNode> \
inline typename boost::enable_if_c< \
boost::is_same<ChildNode, childName>::value, \
const typename ChildNodeInfo<ChildNode>::ValueType&>::type \
getValue() const { \
return BOOST_PP_CAT(_node, childName)._node.getValue(); \
} \
template <typename ChildNode> \
inline typename boost::enable_if_c< \
boost::is_same<ChildNode, childName>::value, \
typename ChildNodeInfo<ChildNode>::ValueType&>::type \
accessValue() { \
return BOOST_PP_CAT(_node, childName)._node.accessValue(); \
} \
template <typename ChildNode> \
inline typename boost::enable_if_c< \
boost::is_same<ChildNode, childName>::value, \
void>::type \
setValue(const typename ChildNodeInfo<ChildNode>::ValueType& value) { \
BOOST_PP_CAT(_node, childName)._node.setValue(value); \
}

[Internal] macro allowing to define accessors associated to leafs

◆ IPSDK_NODE_DATA_GET_DEFAULT_LEAF

#define IPSDK_NODE_DATA_GET_DEFAULT_LEAF (   childName,
  defaultValue 
)
Value:
template <typename ChildNode> \
inline static typename boost::enable_if_c< \
boost::is_same<ChildNode, childName>::value, \
typename ChildNodeInfo<ChildNode>::ValueType>::type \
getDefault() { return defaultValue;}

[Internal] macro allowing to retrieve default value associated to leafs

◆ IPSDK_NODE_DATA_READ_LEAF

#define IPSDK_NODE_DATA_READ_LEAF (   childName)
Value:
ar >> ipsdk::make_iitem(BOOST_PP_STRINGIZE(childName), \
BOOST_PP_CAT(_node, childName)._node);
SerializationIItem< T > make_iitem(const std::string &itemName, T &value)
template function allowing to dynamically create SerializationIItem
Definition: SerializationIItemUtils.h:28

[Internal] macro allowing to define read operation associated to leafs

◆ IPSDK_NODE_DATA_WRITE_LEAF

#define IPSDK_NODE_DATA_WRITE_LEAF (   childName)
Value:
ar << ipsdk::make_oitem(BOOST_PP_STRINGIZE(childName), \
BOOST_PP_CAT(_node, childName)._node);
SerializationOItem< T > make_oitem(const std::string &itemName, const T &value)
template function allowing to dynamically create SerializationOItem
Definition: SerializationOItemUtils.h:28

[Internal] macro allowing to define write operation associated to leafs

◆ IPSDK_NODE_DATA_INFO_ENUMLEAF

#define IPSDK_NODE_DATA_INFO_ENUMLEAF (   libraryName,
  className,
  childElem 
)
Value:
IPSDK_NODE_DATA_STD_INFO(libraryName, className, BOOST_PP_SEQ_ELEM(1, childElem)); \
typedef IPSDK_NODE_DATA_TYPE_ENUMLEAF(BOOST_PP_SEQ_ELEM(2, childElem)) NodeType; \
typedef IPSDK_NODE_DATA_TYPE_ENUMLEAF(BOOST_PP_SEQ_ELEM(2, childElem))::EnumType ValueType; \
static void checkNbParams() { \
BOOST_STATIC_ASSERT_MSG(BOOST_PP_SEQ_SIZE(childElem) == 4, \
"Enumerates need default value"); \
}
#define IPSDK_NODE_DATA_STD_INFO(libraryName, className, childName)
[Internal] macro allowing to define standard method getItemInfoStr for item information structure ...
Definition: DataItemNodeHdrMacrosDetails.h:172
#define IPSDK_NODE_DATA_TYPE_ENUMLEAF(valueType)
[Internal] macro allowing to define type associated to enumerate leafs
Definition: DataItemNodeHdrMacrosDetails.h:268

[Internal] macro allowing to define informations associated to enumerate leafs

◆ IPSDK_NODE_DATA_ACCESS_ENUMLEAF

#define IPSDK_NODE_DATA_ACCESS_ENUMLEAF (   childElem,
  className 
)
Value:
BOOST_PP_SEQ_ELEM(1, childElem), \
BOOST_PP_SEQ_ELEM(2, childElem), \
className)
#define IPSDK_NODE_DATA_ACCESS_ENUMLEAF_MACRO(childName, valueType, className)
[Internal] macro allowing to define accessors associated to enumerate leafs
Definition: DataItemNodeHdrMacrosDetails.h:292

[Internal] macro allowing to define accessors associated to enumerate leafs

◆ IPSDK_NODE_DATA_ACCESS_ENUMLEAF_MACRO

#define IPSDK_NODE_DATA_ACCESS_ENUMLEAF_MACRO (   childName,
  valueType,
  className 
)
Value:
template <typename ChildNode> \
inline typename boost::enable_if_c< \
boost::is_same<ChildNode, childName>::value, \
const typename ChildNodeInfo<ChildNode>::ValueType>::type \
getValue() const { \
return BOOST_PP_CAT(_node, childName)._node.getValue(); \
} \
template <typename ChildNode> \
inline typename boost::enable_if_c< \
boost::is_same<ChildNode, childName>::value, \
void>::type \
setValue(const typename ChildNodeInfo<ChildNode>::ValueType& value) { \
BOOST_PP_CAT(_node, childName)._node.setValue(value); \
}

[Internal] macro allowing to define accessors associated to enumerate leafs

◆ IPSDK_NODE_DATA_GET_DEFAULT_ENUMLEAF

#define IPSDK_NODE_DATA_GET_DEFAULT_ENUMLEAF (   childName,
  defaultValue 
)
Value:
template <typename ChildNode> \
inline static typename boost::enable_if_c< \
boost::is_same<ChildNode, childName>::value, \
typename ChildNodeInfo<ChildNode>::ValueType>::type \
getDefault() { return defaultValue;}

[Internal] macro allowing to retrieve default value associated to enumerate leafs

◆ IPSDK_NODE_DATA_READ_ENUMLEAF

#define IPSDK_NODE_DATA_READ_ENUMLEAF (   childName)
Value:
ar >> ipsdk::make_iitem(BOOST_PP_STRINGIZE(childName), \
BOOST_PP_CAT(_node, childName)._node);
SerializationIItem< T > make_iitem(const std::string &itemName, T &value)
template function allowing to dynamically create SerializationIItem
Definition: SerializationIItemUtils.h:28

[Internal] macro allowing to define read operation associated to enumerate leafs

◆ IPSDK_NODE_DATA_WRITE_ENUMLEAF

#define IPSDK_NODE_DATA_WRITE_ENUMLEAF (   childName)
Value:
ar << ipsdk::make_oitem(BOOST_PP_STRINGIZE(childName), \
BOOST_PP_CAT(_node, childName)._node);
SerializationOItem< T > make_oitem(const std::string &itemName, const T &value)
template function allowing to dynamically create SerializationOItem
Definition: SerializationOItemUtils.h:28

[Internal] macro allowing to define write operation associated to enumerate leafs

◆ IPSDK_NODE_DATA_INFO_LEAF_COLL

#define IPSDK_NODE_DATA_INFO_LEAF_COLL (   libraryName,
  className,
  childElem 
)
Value:
IPSDK_NODE_DATA_STD_INFO(libraryName, className, BOOST_PP_SEQ_ELEM(1, childElem)); \
typedef IPSDK_NODE_DATA_TYPE_LEAF_COLL(BOOST_PP_SEQ_ELEM(2, childElem)) NodeType; \
typedef IPSDK_NODE_DATA_TYPE_LEAF_COLL(BOOST_PP_SEQ_ELEM(2, childElem))::ValueType ValueType; \
typedef IPSDK_NODE_DATA_TYPE_LEAF_COLL(BOOST_PP_SEQ_ELEM(2, childElem))::CollType CollType;
#define IPSDK_NODE_DATA_STD_INFO(libraryName, className, childName)
[Internal] macro allowing to define standard method getItemInfoStr for item information structure ...
Definition: DataItemNodeHdrMacrosDetails.h:172
#define IPSDK_NODE_DATA_TYPE_LEAF_COLL(valueType)
[Internal] macro allowing to define type associated to to leaf collections
Definition: DataItemNodeHdrMacrosDetails.h:339

[Internal] macro allowing to define informations associated to leaf collections

◆ IPSDK_NODE_DATA_ACCESS_LEAF_COLL

#define IPSDK_NODE_DATA_ACCESS_LEAF_COLL (   childElem,
  className 
)
Value:
BOOST_PP_SEQ_ELEM(1, childElem), \
BOOST_PP_SEQ_ELEM(2, childElem), \
className)
#define IPSDK_NODE_DATA_ACCESS_LEAF_COLL_MACRO(childName, valueType, className)
[Internal] macro allowing to define accessors associated to leaf collections
Definition: DataItemNodeHdrMacrosDetails.h:360

[Internal] macro allowing to define accessors associated to leaf collections

◆ IPSDK_NODE_DATA_GET_DEFAULT_LEAF_COLL

#define IPSDK_NODE_DATA_GET_DEFAULT_LEAF_COLL (   childName,
  defaultValue 
)
Value:
template <typename ChildNode> \
inline static typename boost::enable_if_c< \
boost::is_same<ChildNode, childName>::value, \
typename ChildNodeInfo<ChildNode>::ValueType>::type \
getDefault() { return defaultValue;}

[Internal] macro allowing to retrieve default value associated to leaf collections

◆ IPSDK_NODE_DATA_READ_LEAF_COLL

#define IPSDK_NODE_DATA_READ_LEAF_COLL (   childName)
Value:
ar >> ipsdk::make_iitem(BOOST_PP_STRINGIZE(childName), \
BOOST_PP_CAT(_node, childName)._node);
SerializationIItem< T > make_iitem(const std::string &itemName, T &value)
template function allowing to dynamically create SerializationIItem
Definition: SerializationIItemUtils.h:28

[Internal] macro allowing to define read operation associated to leaf collections

◆ IPSDK_NODE_DATA_WRITE_LEAF_COLL

#define IPSDK_NODE_DATA_WRITE_LEAF_COLL (   childName)
Value:
ar << ipsdk::make_oitem(BOOST_PP_STRINGIZE(childName), \
BOOST_PP_CAT(_node, childName)._node);
SerializationOItem< T > make_oitem(const std::string &itemName, const T &value)
template function allowing to dynamically create SerializationOItem
Definition: SerializationOItemUtils.h:28

[Internal] macro allowing to define write operation associated to leaf collections

◆ IPSDK_NODE_DATA_INFO_NODE

#define IPSDK_NODE_DATA_INFO_NODE (   libraryName,
  className,
  childElem 
)
Value:
IPSDK_NODE_DATA_STD_INFO(libraryName, className, BOOST_PP_SEQ_ELEM(1, childElem)); \
typedef IPSDK_NODE_DATA_TYPE_NODE(BOOST_PP_SEQ_ELEM(2, childElem)) NodeType;
#define IPSDK_NODE_DATA_TYPE_NODE(valueType)
[Internal] macro allowing to define type associated to nodes
Definition: DataItemNodeHdrMacrosDetails.h:435
#define IPSDK_NODE_DATA_STD_INFO(libraryName, className, childName)
[Internal] macro allowing to define standard method getItemInfoStr for item information structure ...
Definition: DataItemNodeHdrMacrosDetails.h:172

[Internal] macro allowing to define informations associated to nodes

◆ IPSDK_NODE_DATA_ACCESS_NODE

#define IPSDK_NODE_DATA_ACCESS_NODE (   childElem,
  className 
)
Value:
BOOST_PP_SEQ_ELEM(1, childElem), \
BOOST_PP_SEQ_ELEM(2, childElem), \
className)
#define IPSDK_NODE_DATA_ACCESS_NODE_MACRO(childName, valueType, className)
[Internal] macro allowing to define accessors associated to nodes
Definition: DataItemNodeHdrMacrosDetails.h:454

[Internal] macro allowing to define accessors associated to nodes

◆ IPSDK_NODE_DATA_GET_DEFAULT_NODE

#define IPSDK_NODE_DATA_GET_DEFAULT_NODE (   childName,
  defaultValue 
)
Value:
template <typename ChildNode> \
inline static typename boost::enable_if_c< \
boost::is_same<ChildNode, childName>::value, \
typename ChildNodeInfo<ChildNode>::ValueType>::type \
getDefault() { return defaultValue;}

[Internal] macro allowing to retrieve default value associated to nodes

◆ IPSDK_NODE_DATA_READ_NODE

#define IPSDK_NODE_DATA_READ_NODE (   childName)
Value:
ar >> ipsdk::make_iitem(BOOST_PP_STRINGIZE(childName), \
BOOST_PP_CAT(_node, childName)._node);
SerializationIItem< T > make_iitem(const std::string &itemName, T &value)
template function allowing to dynamically create SerializationIItem
Definition: SerializationIItemUtils.h:28

[Internal] macro allowing to define read operation associated nodes

◆ IPSDK_NODE_DATA_WRITE_NODE

#define IPSDK_NODE_DATA_WRITE_NODE (   childName)
Value:
ar << ipsdk::make_oitem(BOOST_PP_STRINGIZE(childName), \
BOOST_PP_CAT(_node, childName)._node);
SerializationOItem< T > make_oitem(const std::string &itemName, const T &value)
template function allowing to dynamically create SerializationOItem
Definition: SerializationOItemUtils.h:28

[Internal] macro allowing to define write operation associated nodes

◆ IPSDK_NODE_DATA_INFO_NODE_COLL

#define IPSDK_NODE_DATA_INFO_NODE_COLL (   libraryName,
  className,
  childElem 
)
Value:
IPSDK_NODE_DATA_STD_INFO(libraryName, className, BOOST_PP_SEQ_ELEM(1, childElem)); \
typedef IPSDK_NODE_DATA_TYPE_NODE_COLL(BOOST_PP_SEQ_ELEM(2, childElem)) NodeType; \
typedef IPSDK_NODE_DATA_TYPE_NODE_COLL(BOOST_PP_SEQ_ELEM(2, childElem))::NodeType CollNodeType; \
typedef IPSDK_NODE_DATA_TYPE_NODE_COLL(BOOST_PP_SEQ_ELEM(2, childElem))::NodePtrType CollNodePtrType; \
typedef IPSDK_NODE_DATA_TYPE_NODE_COLL(BOOST_PP_SEQ_ELEM(2, childElem))::CollType CollType;
#define IPSDK_NODE_DATA_STD_INFO(libraryName, className, childName)
[Internal] macro allowing to define standard method getItemInfoStr for item information structure ...
Definition: DataItemNodeHdrMacrosDetails.h:172
#define IPSDK_NODE_DATA_TYPE_NODE_COLL(valueType)
[Internal] macro allowing to define type associated to node collections
Definition: DataItemNodeHdrMacrosDetails.h:487

[Internal] macro allowing to define informations associated to node collections

◆ IPSDK_NODE_DATA_ACCESS_NODE_COLL

#define IPSDK_NODE_DATA_ACCESS_NODE_COLL (   childElem,
  className 
)
Value:
BOOST_PP_SEQ_ELEM(1, childElem), \
BOOST_PP_SEQ_ELEM(2, childElem), \
className)
#define IPSDK_NODE_DATA_ACCESS_NODE_COLL_MACRO(childName, valueType, className)
[Internal] macro allowing to define accessors associated to node collections
Definition: DataItemNodeHdrMacrosDetails.h:509

[Internal] macro allowing to define accessors associated to node collections

◆ IPSDK_NODE_DATA_GET_DEFAULT_NODE_COLL

#define IPSDK_NODE_DATA_GET_DEFAULT_NODE_COLL (   childName,
  defaultValue 
)
Value:
template <typename ChildNode> \
inline static typename boost::enable_if_c< \
boost::is_same<ChildNode, childName>::value, \
typename ChildNodeInfo<ChildNode>::ValueType>::type \
getDefault() { return defaultValue;}

[Internal] macro allowing to retrieve default value associated to node collections

◆ IPSDK_NODE_DATA_READ_NODE_COLL

#define IPSDK_NODE_DATA_READ_NODE_COLL (   childName)
Value:
ar >> ipsdk::make_iitem(BOOST_PP_STRINGIZE(childName), \
static_cast<ipsdk::BaseDataItemNodeColl&>(BOOST_PP_CAT(_node, childName)._node));
SerializationIItem< T > make_iitem(const std::string &itemName, T &value)
template function allowing to dynamically create SerializationIItem
Definition: SerializationIItemUtils.h:28

[Internal] macro allowing to define read operation associated to node collections

◆ IPSDK_NODE_DATA_WRITE_NODE_COLL

#define IPSDK_NODE_DATA_WRITE_NODE_COLL (   childName)
Value:
ar << ipsdk::make_oitem(BOOST_PP_STRINGIZE(childName), \
static_cast<const ipsdk::BaseDataItemNodeColl&>(BOOST_PP_CAT(_node, childName)._node));
SerializationOItem< T > make_oitem(const std::string &itemName, const T &value)
template function allowing to dynamically create SerializationOItem
Definition: SerializationOItemUtils.h:28

[Internal] macro allowing to define write operation associated to node collections

◆ IPSDK_NODE_DATA_INFO_MAP

#define IPSDK_NODE_DATA_INFO_MAP (   libraryName,
  className,
  childElem 
)
Value:
IPSDK_NODE_DATA_STD_INFO(libraryName, className, BOOST_PP_SEQ_ELEM(1, childElem)); \
typedef IPSDK_NODE_DATA_TYPE_MAP() NodeType;
#define IPSDK_NODE_DATA_STD_INFO(libraryName, className, childName)
[Internal] macro allowing to define standard method getItemInfoStr for item information structure ...
Definition: DataItemNodeHdrMacrosDetails.h:172
#define IPSDK_NODE_DATA_TYPE_MAP()
[Internal] macro allowing to define type associated to node maps
Definition: DataItemNodeHdrMacrosDetails.h:598

[Internal] macro allowing to define informations associated to node maps

◆ IPSDK_NODE_DATA_ACCESS_MAP

#define IPSDK_NODE_DATA_ACCESS_MAP (   childElem,
  className 
)
Value:
BOOST_PP_SEQ_ELEM(1, childElem), \
className)
#define IPSDK_NODE_DATA_ACCESS_MAP_MACRO(childName, className)
[Internal] macro allowing to define accessors associated to node maps
Definition: DataItemNodeHdrMacrosDetails.h:616

[Internal] macro allowing to define accessors associated to node maps

◆ IPSDK_NODE_DATA_GET_DEFAULT_MAP

#define IPSDK_NODE_DATA_GET_DEFAULT_MAP (   childName,
  defaultValue 
)
Value:
template <typename ChildNode> \
inline static typename boost::enable_if_c< \
boost::is_same<ChildNode, childName>::value, \
typename ChildNodeInfo<ChildNode>::ValueType>::type \
getDefault() { return defaultValue;}

[Internal] macro allowing to retrieve default value associated to node maps

◆ IPSDK_NODE_DATA_READ_MAP

#define IPSDK_NODE_DATA_READ_MAP (   childName)
Value:
ar >> ipsdk::make_iitem(BOOST_PP_STRINGIZE(childName), \
BOOST_PP_CAT(_node, childName)._node);
SerializationIItem< T > make_iitem(const std::string &itemName, T &value)
template function allowing to dynamically create SerializationIItem
Definition: SerializationIItemUtils.h:28

[Internal] macro allowing to define read operation associated to node maps

◆ IPSDK_NODE_DATA_WRITE_MAP

#define IPSDK_NODE_DATA_WRITE_MAP (   childName)
Value:
ar << ipsdk::make_oitem(BOOST_PP_STRINGIZE(childName), \
BOOST_PP_CAT(_node, childName)._node);
SerializationOItem< T > make_oitem(const std::string &itemName, const T &value)
template function allowing to dynamically create SerializationOItem
Definition: SerializationOItemUtils.h:28

[Internal] macro allowing to define write operation associated to node maps