15 #ifndef __IPSDKBASEDATA_DATAITEMTYPES_H__ 16 #define __IPSDKBASEDATA_DATAITEMTYPES_H__ 20 #include <boost/shared_ptr.hpp> 26 class BaseDataItemLeaf;
164 template <typename T>
169 #define IPSDK_DATAITEM_VALUETYPE_TO_ENUM_STRUCT(ValueType, EnumValue) \ 170 template<> struct DataItemValueType2Enum<ValueType> { \ 171 static const eDataItemValueType::domain g_enumValue = eDataItemValueType::EnumValue; \ 193 template <eDataItemValueType::value_type enumValue>
194 struct Enum2DataItemValueType;
198 #define IPSDK_ENUM_STRUCT_TO_DATAITEM_VALUETYPE(ValueType, EnumValue) \ 199 template<> struct Enum2DataItemValueType<eDataItemValueType::EnumValue> { \ 200 typedef ValueType Type; \ 225 #endif // __IPSDKBASEDATA_DATAITEMTYPES_H__ Template class for collection of data item leafs.
Definition: DataItemTypes.h:31
IPSDK_FORCEINLINE void set(T *buffer, T value, ipUInt64 nbElts)
set function; assigns a given value to the 'nbElts' elements of a buffer
Definition: set.h:34
Definition: DataItemTypes.h:51
int8_t ipInt8
Base types definition.
Definition: BaseTypes.h:48
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
IPSDK_ENUM_STRUCT_TO_DATAITEM_VALUETYPE(ipBool, eDIVT_Bool)
boost::shared_ptr< const BaseDataItemNode > DataItemNodeConstPtr
shared pointer to const DataItemNode
Definition: DataItemTypes.h:161
Data item associated to a 32 bits unsigned integer value.
Definition: DataItemTypes.h:84
boost::shared_ptr< const BaseDataItem > DataItemConstPtr
shared pointer to const DataItem
Definition: DataItemTypes.h:149
Data item associated to a string value.
Definition: DataItemTypes.h:94
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
Class used to store a variable collection of heterogeneous nodes.
Definition: DataItemMap.h:31
Data item associated to a 32 bits real value.
Definition: DataItemTypes.h:90
boost::shared_ptr< BaseDataItemLeafColl > DataItemLeafCollPtr
shared pointer to DataItemLeafColl
Definition: DataItemTypes.h:155
IPSDK_DATAITEM_VALUETYPE_TO_ENUM_STRUCT(ipBool, eDIVT_Bool)
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
Data item associated to a 64 bits real value.
Definition: DataItemTypes.h:92
Data item associated to a 8 bits signed integer value.
Definition: DataItemTypes.h:74
int32_t ipInt32
Base types definition.
Definition: BaseTypes.h:52
boost::shared_ptr< BaseDataItemLeaf > DataItemLeafPtr
shared pointer to DataItemLeaf
Definition: DataItemTypes.h:152
Definition: DataItemTypes.h:59
Data item associated to a 32 bits signed integer value.
Definition: DataItemTypes.h:82
Definition: DataItemNodeHdrMacrosDetails.h:48
Definition: DataItemTypes.h:55
boost::shared_ptr< DataItemMap > DataItemMapPtr
shared pointer to DataItemMap
Definition: DataItemTypes.h:167
Base class used to store data item nodes collection.
Definition: BaseDataItemNodeColl.h:30
int16_t ipInt16
Base types definition.
Definition: BaseTypes.h:50
uint8_t ipUInt8
Base types definition.
Definition: BaseTypes.h:49
boost::shared_ptr< BaseDataItem > DataItemPtr
shared pointer to DataItem
Definition: DataItemTypes.h:146
Data item associated to a 64 bits unsigned integer value.
Definition: DataItemTypes.h:88
Base types for multiplatform compatibility.
boost::shared_ptr< BaseDataItemNodeColl > DataItemNodeCollPtr
shared pointer to DataItemNodeColl
Definition: DataItemTypes.h:164
Data item associated to a 16 bits unsigned integer value.
Definition: DataItemTypes.h:80
Data item associated to a 64 bits signed integer value.
Definition: DataItemTypes.h:86
boost::shared_ptr< BaseDataItemNode > DataItemNodePtr
shared pointer to DataItemNode
Definition: DataItemTypes.h:158
Base class for data item nodes.
Definition: BaseDataItemNode.h:29
boost::shared_ptr< const DataItemMap > DataItemMapConstPtr
shared pointer to const DataItemMap
Definition: DataItemTypes.h:170
std::set< std::string > ItemNames
collection of names or ids for items
Definition: DataItemTypes.h:143
eDataItemValueType
Enumerate describing data items value type.
Definition: DataItemTypes.h:70
Data item associated to an enumerate value.
Definition: DataItemTypes.h:98
bool ipBool
Base types definition.
Definition: BaseTypes.h:47
Template class for data item leafs instantiation.
Definition: DataItemTypes.h:28
Data item associated to a boolean value.
Definition: DataItemTypes.h:72
Definition: DataItemTypes.h:45
Base class for data item leafs.
Definition: BaseDataItemLeaf.h:25
int64_t ipInt64
Base types definition.
Definition: BaseTypes.h:54
structure used to retrieve enumerate value from data item value type
Definition: DataItemTypes.h:184
Base class for data items.
Definition: BaseDataItem.h:27
Data item associated to a path value.
Definition: DataItemTypes.h:96
Predefined macros for enumerates management.
DataItemNodePtr(* DataItemNodeCreator)()
data item node creator function
Definition: DataItemTypes.h:176
#define IPSDK_ENUM(enumTypeStr, enumSeq)
macro allowing to declare an enumerate for library
Definition: EnumMacros.h:26
Data item used to store simple values.
Definition: DataItemTypes.h:47
uint16_t ipUInt16
Base types definition.
Definition: BaseTypes.h:51
Base class for collection of data item leafs.
Definition: BaseDataItemLeafColl.h:26
eDataItemType
Enumerate describing data items type.
Definition: DataItemTypes.h:43
Data item associated to a 16 bits signed integer value.
Definition: DataItemTypes.h:78
float ipReal32
Base types definition.
Definition: BaseTypes.h:56
Data item associated to a 8 bits unsigned integer value.
Definition: DataItemTypes.h:76
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53