IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
AttributeCheckMacros.h
Go to the documentation of this file.
1 // AttributeCheckMacros.h:
3 // -----------------------
4 //
14 
15 #ifndef __IPSDKBASEPROCESSING_ATTRIBUTECHECKMACROS_H__
16 #define __IPSDKBASEPROCESSING_ATTRIBUTECHECKMACROS_H__
17 
20 #include <boost/preprocessor/seq.hpp>
21 #include <boost/type_traits/is_same.hpp>
22 
23 namespace ipsdk {
24 namespace processor {
25 
28 
32 {
35  BOOST_STATIC_CONSTANT(bool, g_bInput = false);
36  BOOST_STATIC_CONSTANT(bool, g_bOutput = false);
37  BOOST_STATIC_CONSTANT(bool, g_bOptional = false);
39 };
40 
43 
45 template <typename AttributeType>
47 {
49  BOOST_STATIC_CONSTANT(bool, g_bValue = true);
50 };
51 
55 template <>
57 {
59  BOOST_STATIC_CONSTANT(bool, g_bValue = false);
60 };
61 
64 
66 template <typename AttributeType>
68 {
71  !(AttributeType::g_bOptional));
72 };
73 
76 
78 template <typename AttributeType>
80 {
83  AttributeType::g_bOptional);
84 };
85 
88 
90 template <typename AttributeType>
92 {
95  AttributeType::g_bInput);
96 };
97 
100 
102 template <typename AttributeType>
104 {
107  AttributeType::g_bInput &&
108  !(AttributeType::g_bOutput));
109 };
110 
113 
115 template <typename AttributeType>
117 {
120  AttributeType::g_bOutput);
121 };
122 
125 
127 template <typename AttributeType>
129 {
132  AttributeType::g_bOutput &&
133  !(AttributeType::g_bInput));
134 };
135 
138 
140 template <typename AttributeType>
142 {
145  AttributeType::g_bInput &&
146  AttributeType::g_bOutput);
147 };
148 
151 
153 template <typename AttributeType1, typename AttributeType2>
155 {
157  BOOST_STATIC_CONSTANT(bool, g_bValue = (boost::is_same<AttributeType1, AttributeType2>::value));
158 };
159 
162 
163 } // end of namespace processor
164 } // end of namespace ipsdk
165 
166 #endif // __IPSDKBASEPROCESSING_ATTRIBUTECHECKMACROS_H__
structure allowing to check whether an attribute is strictly output
Definition: AttributeCheckMacros.h:128
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
BOOST_STATIC_CONSTANT(bool, g_bValue=IsNotNullAttribute< AttributeType >::g_bValue &&AttributeType::g_bOutput &&!(AttributeType::g_bInput))
structure associated value
BOOST_STATIC_CONSTANT(bool, g_bInput=false)
structure allowing to check whether two attributes have same type
Definition: AttributeCheckMacros.h:154
BOOST_STATIC_CONSTANT(bool, g_bValue=true)
structure associated value
Configuration parameters for processing attribute macros.
BOOST_STATIC_CONSTANT(bool, g_bValue=IsNotNullAttribute< AttributeType >::g_bValue &&AttributeType::g_bInput)
structure associated value
BOOST_STATIC_CONSTANT(bool, g_bValue=IsNotNullAttribute< AttributeType >::g_bValue &&AttributeType::g_bOptional)
structure associated value
BOOST_STATIC_CONSTANT(bool, g_bValue=(boost::is_same< AttributeType1, AttributeType2 >::value))
structure associated value
BOOST_STATIC_CONSTANT(bool, g_bValue=IsNotNullAttribute< AttributeType >::g_bValue &&!(AttributeType::g_bOptional))
structure associated value
Structure encapsulating null attribute.
Definition: AttributeCheckMacros.h:31
structure allowing to check whether an attribute is input
Definition: AttributeCheckMacros.h:91
BOOST_STATIC_CONSTANT(bool, g_bValue=IsNotNullAttribute< AttributeType >::g_bValue &&AttributeType::g_bOutput)
structure associated value
BOOST_STATIC_CONSTANT(bool, g_bValue=IsNotNullAttribute< AttributeType >::g_bValue &&AttributeType::g_bInput &&!(AttributeType::g_bOutput))
structure associated value
Definition of import/export macro for library.
structure allowing to check whether an attribute is output
Definition: AttributeCheckMacros.h:116
structure allowing to check whether an attribute is optional
Definition: AttributeCheckMacros.h:79
structure allowing to check whether an attribute is not null
Definition: AttributeCheckMacros.h:46
structure allowing to check whether an attribute is in/out
Definition: AttributeCheckMacros.h:141
structure allowing to check whether an attribute is strictly input
Definition: AttributeCheckMacros.h:103
structure allowing to check whether an attribute is mandatory
Definition: AttributeCheckMacros.h:67
BOOST_STATIC_CONSTANT(bool, g_bValue=IsNotNullAttribute< AttributeType >::g_bValue &&AttributeType::g_bInput &&AttributeType::g_bOutput)
structure associated value