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

Macros set allowing to manage an attribute collection information. More...

#include <IPSDKBaseProcessing/Attribute/Macros/AttributeCollInfo.h>
#include <IPSDKBaseProcessing/Attribute/Macros/AttributeConfigMacros.h>
#include <IPSDKBaseProcessing/Attribute/Macros/AttributeCheckMacros.h>

Go to the source code of this file.

Classes

struct  ipsdk::processor::ExistsAttribute< AttributeType, AttributeCollInfoType >
 structure allowing to check whether a given attribute exists in attribute collection information More...
 
struct  ipsdk::processor::AreAttributesTypeUnique< AttributeCollInfoType >
 Structure used to check whether a given attribute collection information has unique typed attributes. More...
 

Namespaces

 ipsdk
 Main namespace for IPSDK library.
 
 ipsdk::processor
 Namespace agregating IPSDK base routines and classes for algorithm processing.
 

Macros

#define IPSDK_ATTRIBUTE_COLL_CREATE_MACRO(z, n, startIdx)   BOOST_PP_CAT(typename AttributeCollInfoType::AttributeType, BOOST_PP_ADD(n, startIdx))
 [Internal] sub macro allowing to create a temporary attribute info collection
 
#define IPSDK_ATTRIBUTE_COLL_CREATE(StartIdx)
 [Internal] macro allowing to create a temporary attribute info collection More...
 
#define IPSDK_ATTRIBUTE_COLL_UNIQUE(z, n, startIdx)
 [Internal] macro allowing to check that an element is unique in remains of attribute info collection More...
 
#define IPSDK_ATTRIBUTE_COLL_LOGICAL_MACRO(z, n, data)
 [Internal] sub macro allowing to check whether elements respect a given condition in an attribute info collection More...
 
#define IPSDK_ATTRIBUTE_COLL_LOGICAL(PredicateClass, SourceClass, CheckedClass, operation)
 [Internal] macro allowing to check whether elements respect a given condition in an attribute info collection More...
 
#define IPSDK_ATTRIBUTE_COLL_AND(PredicateClass, SourceClass)   IPSDK_ATTRIBUTE_COLL_OPERATION(PredicateClass, SourceClass, true, false, &&)
 [Internal] macro allowing to check whether all elements respect a given condition in an attribute info collection
 
#define IPSDK_ATTRIBUTE_COLL_OR(PredicateClass, SourceClass)   IPSDK_ATTRIBUTE_COLL_OPERATION(PredicateClass, SourceClass, true, false, ||)
 [Internal] macro allowing to check whether almost an element respect a given condition in an attribute info collection
 
#define IPSDK_ATTRIBUTE_COLL_CREATE_MACRO(z, n, startIdx)   BOOST_PP_CAT(typename AttributeCollInfoType::AttributeType, BOOST_PP_ADD(n, startIdx))
 [Internal] sub macro allowing to create a temporary attribute info collection
 
#define IPSDK_ATTRIBUTE_COLL_CREATE(StartIdx)
 [Internal] macro allowing to create a temporary attribute info collection More...
 
#define IPSDK_ATTRIBUTE_COLL_UNIQUE(z, n, startIdx)
 [Internal] macro allowing to check that an element is unique in remains of attribute info collection More...
 
#define IPSDK_ATTRIBUTE_COLL_LOGICAL_MACRO(z, n, data)
 [Internal] sub macro allowing to check whether elements respect a given condition in an attribute info collection More...
 
#define IPSDK_ATTRIBUTE_COLL_LOGICAL(PredicateClass, SourceClass, CheckedClass, operation)
 [Internal] macro allowing to check whether elements respect a given condition in an attribute info collection More...
 
#define IPSDK_ATTRIBUTE_COLL_AND(PredicateClass, SourceClass)   IPSDK_ATTRIBUTE_COLL_OPERATION(PredicateClass, SourceClass, true, false, &&)
 [Internal] macro allowing to check whether all elements respect a given condition in an attribute info collection
 
#define IPSDK_ATTRIBUTE_COLL_OR(PredicateClass, SourceClass)   IPSDK_ATTRIBUTE_COLL_OPERATION(PredicateClass, SourceClass, true, false, ||)
 [Internal] macro allowing to check whether almost an element respect a given condition in an attribute info collection
 

Detailed Description

Macros set allowing to manage an attribute collection information.

Author
E. Noirfalise
Date
2013/10/14

Macro Definition Documentation

◆ IPSDK_ATTRIBUTE_COLL_CREATE [1/2]

#define IPSDK_ATTRIBUTE_COLL_CREATE (   StartIdx)
Value:
AttributeCollInfo<BOOST_PP_ENUM(BOOST_PP_SUB(IPSDK_ATTRIBUTE_COLL_SIZE, StartIdx), \
#define IPSDK_ATTRIBUTE_COLL_CREATE_MACRO(z, n, startIdx)
[Internal] sub macro allowing to create a temporary attribute info collection
Definition: AttributeCollInfoCheckMacros.h:78
#define IPSDK_ATTRIBUTE_COLL_SIZE
number of supported attributes for processor class
Definition: AttributeConfigMacros.h:25

[Internal] macro allowing to create a temporary attribute info collection

◆ IPSDK_ATTRIBUTE_COLL_UNIQUE [1/2]

#define IPSDK_ATTRIBUTE_COLL_UNIQUE (   z,
  n,
  startIdx 
)
Value:
BOOST_PP_IF(n, &&, ) \
(!IsNotNullAttribute<BOOST_PP_CAT(typename AttributeCollInfoType::AttributeType, n)>::g_bValue || \
!ExistsAttribute<BOOST_PP_CAT(typename AttributeCollInfoType::AttributeType, n), \
IPSDK_ATTRIBUTE_COLL_CREATE(BOOST_PP_INC(n)) >::g_bValue)

[Internal] macro allowing to check that an element is unique in remains of attribute info collection

◆ IPSDK_ATTRIBUTE_COLL_LOGICAL_MACRO [1/2]

#define IPSDK_ATTRIBUTE_COLL_LOGICAL_MACRO (   z,
  n,
  data 
)
Value:
BOOST_PP_IF(n, BOOST_PP_SEQ_ELEM(3, data), ) \
( BOOST_PP_SEQ_ELEM(0, data)< \
typename BOOST_PP_SEQ_ELEM(1, data)::BOOST_PP_CAT(AttributeType, n), \
BOOST_PP_SEQ_ELEM(2, data)>::g_bValue ? 1 : 0 )

[Internal] sub macro allowing to check whether elements respect a given condition in an attribute info collection

◆ IPSDK_ATTRIBUTE_COLL_LOGICAL [1/2]

#define IPSDK_ATTRIBUTE_COLL_LOGICAL (   PredicateClass,
  SourceClass,
  CheckedClass,
  operation 
)
Value:
(BOOST_PP_REPEAT(IPSDK_ATTRIBUTE_COLL_SIZE, \
(PredicateClass)(SourceClass)(CheckedClass)(operation)))
#define IPSDK_ATTRIBUTE_COLL_LOGICAL_MACRO(z, n, data)
[Internal] sub macro allowing to check whether elements respect a given condition in an attribute inf...
Definition: AttributeCollInfoCheckMacros.h:99
#define IPSDK_ATTRIBUTE_COLL_SIZE
number of supported attributes for processor class
Definition: AttributeConfigMacros.h:25

[Internal] macro allowing to check whether elements respect a given condition in an attribute info collection

◆ IPSDK_ATTRIBUTE_COLL_CREATE [2/2]

#define IPSDK_ATTRIBUTE_COLL_CREATE (   StartIdx)
Value:
AttributeCollInfo<BOOST_PP_ENUM(BOOST_PP_SUB(IPSDK_ATTRIBUTE_COLL_SIZE, StartIdx), \
#define IPSDK_ATTRIBUTE_COLL_CREATE_MACRO(z, n, startIdx)
[Internal] sub macro allowing to create a temporary attribute info collection
Definition: AttributeCollInfoCheckMacros.h:78
#define IPSDK_ATTRIBUTE_COLL_SIZE
number of supported attributes for processor class
Definition: AttributeConfigMacros.h:25

[Internal] macro allowing to create a temporary attribute info collection

◆ IPSDK_ATTRIBUTE_COLL_UNIQUE [2/2]

#define IPSDK_ATTRIBUTE_COLL_UNIQUE (   z,
  n,
  startIdx 
)
Value:
BOOST_PP_IF(n, &&, ) \
(!IsNotNullAttribute<BOOST_PP_CAT(typename AttributeCollInfoType::AttributeType, n)>::g_bValue || \
!ExistsAttribute<BOOST_PP_CAT(typename AttributeCollInfoType::AttributeType, n), \
IPSDK_ATTRIBUTE_COLL_CREATE(BOOST_PP_INC(n)) >::g_bValue)

[Internal] macro allowing to check that an element is unique in remains of attribute info collection

◆ IPSDK_ATTRIBUTE_COLL_LOGICAL_MACRO [2/2]

#define IPSDK_ATTRIBUTE_COLL_LOGICAL_MACRO (   z,
  n,
  data 
)
Value:
BOOST_PP_IF(n, BOOST_PP_SEQ_ELEM(3, data), ) \
( BOOST_PP_SEQ_ELEM(0, data)< \
typename BOOST_PP_SEQ_ELEM(1, data)::BOOST_PP_CAT(AttributeType, n), \
BOOST_PP_SEQ_ELEM(2, data)>::g_bValue ? 1 : 0 )

[Internal] sub macro allowing to check whether elements respect a given condition in an attribute info collection

◆ IPSDK_ATTRIBUTE_COLL_LOGICAL [2/2]

#define IPSDK_ATTRIBUTE_COLL_LOGICAL (   PredicateClass,
  SourceClass,
  CheckedClass,
  operation 
)
Value:
(BOOST_PP_REPEAT(IPSDK_ATTRIBUTE_COLL_SIZE, \
(PredicateClass)(SourceClass)(CheckedClass)(operation)))
#define IPSDK_ATTRIBUTE_COLL_LOGICAL_MACRO(z, n, data)
[Internal] sub macro allowing to check whether elements respect a given condition in an attribute inf...
Definition: AttributeCollInfoCheckMacros.h:99
#define IPSDK_ATTRIBUTE_COLL_SIZE
number of supported attributes for processor class
Definition: AttributeConfigMacros.h:25

[Internal] macro allowing to check whether elements respect a given condition in an attribute info collection