IPSDK
4_1_0_2
IPSDK : Image Processing Software Development Kit
IPSDK_Nightly
include
public
IPSDKUtil
Dynamic
TemplateClassId.h
Go to the documentation of this file.
1
// TemplateClassId.h:
3
// ------------------
4
//
11
//
13
14
#ifndef __IPSDKUTIL_TEMPLATECLASSID_H__
15
#define __IPSDKUTIL_TEMPLATECLASSID_H__
16
17
#include <boost/preprocessor/seq/for_each_i.hpp>
18
#include <boost/preprocessor/seq/size.hpp>
19
#include <boost/preprocessor/stringize.hpp>
20
#include <boost/preprocessor/control/if.hpp>
21
#include <boost/preprocessor/arithmetic/sub.hpp>
22
25
28
#define IPSDK_TEMPLATE_CLASSID_MACRO_TRUE(T) \
29
BOOST_PP_STRINGIZE(T) ","
30
33
#define IPSDK_TEMPLATE_CLASSID_MACRO_FALSE(T) \
34
BOOST_PP_STRINGIZE(T)
35
38
#define IPSDK_TEMPLATE_CLASSID_MACRO(r, SeqLastIdx, i, T) \
39
BOOST_PP_IF(BOOST_PP_SUB(SeqLastIdx, i), \
40
IPSDK_TEMPLATE_CLASSID_MACRO_TRUE \
41
IPSDK_TEMPLATE_CLASSID_MACRO_FALSE)(T)
42
45
#define IPSDK_TEMPLATE_CLASSID(className, seqT) \
46
BOOST_PP_STRINGIZE(className) \
47
"<" \
48
BOOST_PP_SEQ_FOR_EACH_I_R(200, \
49
IPSDK_TEMPLATE_CLASSID_MACRO, \
50
BOOST_PP_SUB(BOOST_PP_SEQ_SIZE(seqT), 1), \
51
seqT) \
52
">"
53
56
57
#endif // __IPSDKUTIL_TEMPLATECLASSID_H__
Generated on Tue Apr 15 2025 16:20:49 for IPSDK by
1.8.14