owlcpp  v0.3.3~
C++ library for working with OWL ontologies
 All Classes Namespaces Files Functions Macros Pages
ns_iri_tag_gen_macro.hpp
Go to the documentation of this file.
1 
6 #ifndef NS_IRI_TAG_GEN_MACRO_HPP_
7 #define NS_IRI_TAG_GEN_MACRO_HPP_
8 #include "boost/preprocessor/arithmetic/add.hpp"
9 #include "boost/preprocessor/seq/elem.hpp"
10 #include "boost/preprocessor/facilities/empty.hpp"
11 #include "boost/preprocessor/seq/for_each_i.hpp"
12 
14 
15 #define OWLCPP_NAMESPACE_TAG_MACRO_(r, n0, i, e) \
16 OWLCPP_NAMESPACE_TAG_TYPE( \
17  BOOST_PP_SEQ_ELEM(0,e), \
18  BOOST_PP_SEQ_ELEM(1,e), \
19  BOOST_PP_SEQ_ELEM(2,e), \
20  BOOST_PP_ADD(n0,i) \
21 ); \
22 BOOST_PP_EMPTY() \
23 /* */
24 
31 #define OWLCPP_GENERATE_NAMESPACE_TAGS(seq, n0) \
32  BOOST_PP_SEQ_FOR_EACH_I(OWLCPP_NAMESPACE_TAG_MACRO_, n0, seq)
33 
34 
35 #endif /* NS_IRI_TAG_GEN_MACRO_HPP_ */