15 #ifndef __IPSDKBASEDATA_DATASTATUSHDRMACROS_H__ 16 #define __IPSDKBASEDATA_DATASTATUSHDRMACROS_H__ 27 template <ipsdk::eIOStatus::domain>
35 BOOST_STATIC_CONSTANT(
bool, g_bInput =
true);
36 BOOST_STATIC_CONSTANT(
bool, g_bOutput =
false);
37 BOOST_STATIC_CONSTANT(
bool, g_bInOut =
false);
43 BOOST_STATIC_CONSTANT(
bool, g_bInput =
false);
44 BOOST_STATIC_CONSTANT(
bool, g_bOutput =
true);
45 BOOST_STATIC_CONSTANT(
bool, g_bInOut =
false);
51 BOOST_STATIC_CONSTANT(
bool, g_bInput =
true);
52 BOOST_STATIC_CONSTANT(
bool, g_bOutput =
true);
53 BOOST_STATIC_CONSTANT(
bool, g_bInOut =
true);
59 template <ipsdk::eOptStatus::domain>
67 BOOST_STATIC_CONSTANT(
bool, g_bMandatory =
true);
68 BOOST_STATIC_CONSTANT(
bool, g_bOptional =
false);
74 BOOST_STATIC_CONSTANT(
bool, g_bMandatory =
false);
75 BOOST_STATIC_CONSTANT(
bool, g_bOptional =
true);
86 #define IPSDK_DECLARE_IO_DATA() \ 88 BOOST_STATIC_CONSTANT(bool, g_bInput = ipsdk::DataIOStatus<g_dataIOStatus>::g_bInput); \ 89 BOOST_STATIC_CONSTANT(bool, g_bOutput = ipsdk::DataIOStatus<g_dataIOStatus>::g_bOutput); \ 90 BOOST_STATIC_CONSTANT(bool, g_bInOut = ipsdk::DataIOStatus<g_dataIOStatus>::g_bInOut); \ 91 inline ipsdk::eIOStatus getIOStatus() const { \ 92 return g_dataIOStatus; \ 94 inline bool isInput() const { \ 95 return DataIOStatus<g_dataIOStatus>::g_bInput; \ 97 inline bool isOutput() const { \ 98 return DataIOStatus<g_dataIOStatus>::g_bOutput; \ 100 inline bool isInOut() const { \ 101 return DataIOStatus<g_dataIOStatus>::g_bInOut; \ 106 #define IPSDK_DECLARE_INPUT_DATA() \ 108 BOOST_STATIC_CONSTANT(ipsdk::eIOStatus::domain, g_dataIOStatus = ipsdk::eIOStatus::eIOS_Input); \ 109 IPSDK_DECLARE_IO_DATA(); 113 #define IPSDK_DECLARE_OUTPUT_DATA() \ 115 BOOST_STATIC_CONSTANT(ipsdk::eIOStatus::domain, g_dataIOStatus = ipsdk::eIOStatus::eIOS_Output); \ 116 IPSDK_DECLARE_IO_DATA(); 120 #define IPSDK_DECLARE_INOUT_DATA() \ 122 BOOST_STATIC_CONSTANT(ipsdk::eIOStatus::domain, g_dataIOStatus = ipsdk::eIOStatus::eIOS_InOut); \ 123 IPSDK_DECLARE_IO_DATA(); 130 #define IPSDK_DECLARE_OPT_DATA() \ 132 BOOST_STATIC_CONSTANT(bool, g_bMandatory = ipsdk::DataOptStatus<g_dataOptStatus>::g_bMandatory); \ 133 BOOST_STATIC_CONSTANT(bool, g_bOptional = ipsdk::DataOptStatus<g_dataOptStatus>::g_bOptional); \ 134 inline ipsdk::eOptStatus getOptStatus() const { \ 135 return g_dataOptStatus; \ 137 inline bool isMandatory() const { \ 138 return ipsdk::DataOptStatus<g_dataOptStatus>::g_bMandatory; \ 140 inline bool isOptional() const { \ 141 return ipsdk::DataOptStatus<g_dataOptStatus>::g_bOptional; \ 146 #define IPSDK_DECLARE_MANDATORY_DATA() \ 148 BOOST_STATIC_CONSTANT(ipsdk::eOptStatus::domain, g_dataOptStatus = ipsdk::eOptStatus::eOS_Mandatory); \ 149 IPSDK_DECLARE_OPT_DATA() 153 #define IPSDK_DECLARE_OPTIONAL_DATA() \ 155 BOOST_STATIC_CONSTANT(ipsdk::eOptStatus::domain, g_dataOptStatus = ipsdk::eOptStatus::eOS_Optional); \ 156 IPSDK_DECLARE_OPT_DATA() 161 #endif // __IPSDKBASEDATA_DATASTATUSHDRMACROS_H__ Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Data has a mandatory status.
Definition: DataStatusTypes.h:49
Data has an output IO status.
Definition: DataStatusTypes.h:35
template class used for data optional state interpretation
Definition: DataStatusHdrMacros.h:60
Data has an input and output IO status.
Definition: DataStatusTypes.h:37
Predefined types for data with IO status management.
Data has an input IO status.
Definition: DataStatusTypes.h:33
template class used for data io state interpretation
Definition: DataStatusHdrMacros.h:28
Data has an optional status.
Definition: DataStatusTypes.h:51