IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Classes | Namespaces | Macros | Typedefs | Enumerations
DataItemTypes.h File Reference

Predefined types for data items. More...

#include <IPSDKUtil/BaseTypes.h>
#include <IPSDKUtil/Tools/EnumMacros.h>
#include <boost/shared_ptr.hpp>
#include <set>

Go to the source code of this file.

Classes

class  ipsdk::DataItemLeaf< T >
 Template class for data item leafs instantiation. More...
 
class  ipsdk::DataItemLeafColl< T >
 Template class for collection of data item leafs. More...
 
struct  ipsdk::DataItemValueType2Enum< T >
 structure used to retrieve enumerate value from data item value type More...
 
struct  ipsdk::Enum2DataItemValueType< enumValue >
 structure used to retrieve dataitem value type from enumerate value More...
 

Namespaces

 ipsdk
 Main namespace for IPSDK library.
 

Macros

#define IPSDK_DATAITEM_VALUETYPE_TO_ENUM_STRUCT(ValueType, EnumValue)
 
#define IPSDK_ENUM_STRUCT_TO_DATAITEM_VALUETYPE(ValueType, EnumValue)
 

Typedefs

typedef std::set< std::string > ipsdk::ItemNames
 collection of names or ids for items
 
typedef boost::shared_ptr< BaseDataItem > ipsdk::DataItemPtr
 shared pointer to DataItem
 
typedef boost::shared_ptr< const BaseDataItem > ipsdk::DataItemConstPtr
 shared pointer to const DataItem
 
typedef boost::shared_ptr< BaseDataItemLeaf > ipsdk::DataItemLeafPtr
 shared pointer to DataItemLeaf
 
typedef boost::shared_ptr< BaseDataItemLeafColl > ipsdk::DataItemLeafCollPtr
 shared pointer to DataItemLeafColl
 
typedef boost::shared_ptr< BaseDataItemNode > ipsdk::DataItemNodePtr
 shared pointer to DataItemNode
 
typedef boost::shared_ptr< const BaseDataItemNode > ipsdk::DataItemNodeConstPtr
 shared pointer to const DataItemNode
 
typedef boost::shared_ptr< BaseDataItemNodeColl > ipsdk::DataItemNodeCollPtr
 shared pointer to DataItemNodeColl
 
typedef boost::shared_ptr< DataItemMap > ipsdk::DataItemMapPtr
 shared pointer to DataItemMap
 
typedef boost::shared_ptr< const DataItemMap > ipsdk::DataItemMapConstPtr
 shared pointer to const DataItemMap
 
typedef DataItemNodePtr(* ipsdk::DataItemNodeCreator) ()
 data item node creator function
 
typedef DataItemLeaf< ipBool > ipsdk::BoolDataItem
 basic values for data items
 
typedef DataItemLeaf< ipInt8 > ipsdk::Int8DataItem
 basic values for data items
 
typedef DataItemLeaf< ipUInt8 > ipsdk::UInt8DataItem
 basic values for data items
 
typedef DataItemLeaf< ipInt16 > ipsdk::Int16DataItem
 basic values for data items
 
typedef DataItemLeaf< ipUInt16 > ipsdk::UInt16DataItem
 basic values for data items
 
typedef DataItemLeaf< ipInt32 > ipsdk::Int32DataItem
 basic values for data items
 
typedef DataItemLeaf< ipUInt32 > ipsdk::UInt32DataItem
 basic values for data items
 
typedef DataItemLeaf< ipInt64 > ipsdk::Int64DataItem
 basic values for data items
 
typedef DataItemLeaf< ipUInt64 > ipsdk::UInt64DataItem
 basic values for data items
 
typedef DataItemLeaf< ipReal32 > ipsdk::Real32DataItem
 basic values for data items
 
typedef DataItemLeaf< ipReal64 > ipsdk::Real64DataItem
 basic values for data items
 
typedef DataItemLeaf< std::string > ipsdk::StringDataItem
 basic values for data items
 
typedef DataItemLeaf< boost::filesystem::path > ipsdk::PathDataItem
 basic values for data items
 
typedef DataItemLeafColl< ipBool > ipsdk::BoolVectorDataItem
 
typedef DataItemLeafColl< ipInt8 > ipsdk::Int8VectorDataItem
 
typedef DataItemLeafColl< ipUInt8 > ipsdk::UInt8VectorDataItem
 
typedef DataItemLeafColl< ipInt16 > ipsdk::Int16VectorDataItem
 
typedef DataItemLeafColl< ipUInt16 > ipsdk::UInt16VectorDataItem
 
typedef DataItemLeafColl< ipInt32 > ipsdk::Int32VectorDataItem
 
typedef DataItemLeafColl< ipUInt32 > ipsdk::UInt32VectorDataItem
 
typedef DataItemLeafColl< ipInt64 > ipsdk::Int64VectorDataItem
 
typedef DataItemLeafColl< ipUInt64 > ipsdk::UInt64VectorDataItem
 
typedef DataItemLeafColl< ipReal32 > ipsdk::Real32VectorDataItem
 
typedef DataItemLeafColl< ipReal64 > ipsdk::Real64VectorDataItem
 
typedef DataItemLeafColl< std::string > ipsdk::StringVectorDataItem
 
typedef DataItemLeafColl< boost::filesystem::path > ipsdk::PathVectorDataItem
 

Enumerations

enum  ipsdk::eDataItemType {
  ipsdk::eDIT_Leaf, ipsdk::eDIT_Node, ipsdk::eDIT_LeafColl, ipsdk::eDIT_NodeColl,
  ipsdk::eDIT_Map
}
 Enumerate describing data items type. More...
 
enum  ipsdk::eDataItemValueType {
  ipsdk::eDIVT_Bool, ipsdk::eDIVT_Int8, ipsdk::eDIVT_UInt8, ipsdk::eDIVT_Int16,
  ipsdk::eDIVT_UInt16, ipsdk::eDIVT_Int32, ipsdk::eDIVT_UInt32, ipsdk::eDIVT_Int64,
  ipsdk::eDIVT_UInt64, ipsdk::eDIVT_Real32, ipsdk::eDIVT_Real64, ipsdk::eDIVT_String,
  ipsdk::eDIVT_Path, ipsdk::eDIVT_Enum
}
 Enumerate describing data items value type. More...
 

Functions

 ipsdk::IPSDK_DATAITEM_VALUETYPE_TO_ENUM_STRUCT (ipBool, eDIVT_Bool)
 
 ipsdk::IPSDK_DATAITEM_VALUETYPE_TO_ENUM_STRUCT (ipInt8, eDIVT_Int8)
 
 ipsdk::IPSDK_DATAITEM_VALUETYPE_TO_ENUM_STRUCT (ipUInt8, eDIVT_UInt8)
 
 ipsdk::IPSDK_DATAITEM_VALUETYPE_TO_ENUM_STRUCT (ipInt16, eDIVT_Int16)
 
 ipsdk::IPSDK_DATAITEM_VALUETYPE_TO_ENUM_STRUCT (ipUInt16, eDIVT_UInt16)
 
 ipsdk::IPSDK_DATAITEM_VALUETYPE_TO_ENUM_STRUCT (ipInt32, eDIVT_Int32)
 
 ipsdk::IPSDK_DATAITEM_VALUETYPE_TO_ENUM_STRUCT (ipUInt32, eDIVT_UInt32)
 
 ipsdk::IPSDK_DATAITEM_VALUETYPE_TO_ENUM_STRUCT (ipInt64, eDIVT_Int64)
 
 ipsdk::IPSDK_DATAITEM_VALUETYPE_TO_ENUM_STRUCT (ipUInt64, eDIVT_UInt64)
 
 ipsdk::IPSDK_DATAITEM_VALUETYPE_TO_ENUM_STRUCT (ipReal32, eDIVT_Real32)
 
 ipsdk::IPSDK_DATAITEM_VALUETYPE_TO_ENUM_STRUCT (ipReal64, eDIVT_Real64)
 
 ipsdk::IPSDK_DATAITEM_VALUETYPE_TO_ENUM_STRUCT (std::string, eDIVT_String)
 
 ipsdk::IPSDK_DATAITEM_VALUETYPE_TO_ENUM_STRUCT (boost::filesystem::path, eDIVT_Path)
 
 ipsdk::IPSDK_ENUM_STRUCT_TO_DATAITEM_VALUETYPE (ipBool, eDIVT_Bool)
 
 ipsdk::IPSDK_ENUM_STRUCT_TO_DATAITEM_VALUETYPE (ipInt8, eDIVT_Int8)
 
 ipsdk::IPSDK_ENUM_STRUCT_TO_DATAITEM_VALUETYPE (ipUInt8, eDIVT_UInt8)
 
 ipsdk::IPSDK_ENUM_STRUCT_TO_DATAITEM_VALUETYPE (ipInt16, eDIVT_Int16)
 
 ipsdk::IPSDK_ENUM_STRUCT_TO_DATAITEM_VALUETYPE (ipUInt16, eDIVT_UInt16)
 
 ipsdk::IPSDK_ENUM_STRUCT_TO_DATAITEM_VALUETYPE (ipInt32, eDIVT_Int32)
 
 ipsdk::IPSDK_ENUM_STRUCT_TO_DATAITEM_VALUETYPE (ipUInt32, eDIVT_UInt32)
 
 ipsdk::IPSDK_ENUM_STRUCT_TO_DATAITEM_VALUETYPE (ipInt64, eDIVT_Int64)
 
 ipsdk::IPSDK_ENUM_STRUCT_TO_DATAITEM_VALUETYPE (ipUInt64, eDIVT_UInt64)
 
 ipsdk::IPSDK_ENUM_STRUCT_TO_DATAITEM_VALUETYPE (ipReal32, eDIVT_Real32)
 
 ipsdk::IPSDK_ENUM_STRUCT_TO_DATAITEM_VALUETYPE (ipReal64, eDIVT_Real64)
 
 ipsdk::IPSDK_ENUM_STRUCT_TO_DATAITEM_VALUETYPE (std::string, eDIVT_String)
 
 ipsdk::IPSDK_ENUM_STRUCT_TO_DATAITEM_VALUETYPE (boost::filesystem::path, eDIVT_Path)
 

Detailed Description

Predefined types for data items.

Author
E. Noirfalise
Date
2013/4/15

Macro Definition Documentation

◆ IPSDK_DATAITEM_VALUETYPE_TO_ENUM_STRUCT

#define IPSDK_DATAITEM_VALUETYPE_TO_ENUM_STRUCT (   ValueType,
  EnumValue 
)
Value:
template<> struct DataItemValueType2Enum<ValueType> { \
static const eDataItemValueType::domain g_enumValue = eDataItemValueType::EnumValue; \
};

macro enabling implementation of DataItemValueType2Enum templates

◆ IPSDK_ENUM_STRUCT_TO_DATAITEM_VALUETYPE

#define IPSDK_ENUM_STRUCT_TO_DATAITEM_VALUETYPE (   ValueType,
  EnumValue 
)
Value:
template<> struct Enum2DataItemValueType<eDataItemValueType::EnumValue> { \
typedef ValueType Type; \
};
eDataItemValueType
Enumerate describing data items value type.
Definition: DataItemTypes.h:70

macro enabling implementation of Enum2DataItemValueType templates