owlcpp  v0.3.3~
C++ library for working with OWL ontologies
 All Classes Namespaces Files Functions Macros Pages
node_iri_tag_macro.hpp
Go to the documentation of this file.
1 
6 #ifndef NODE_IRI_TAG_MACRO_HPP_
7 #define NODE_IRI_TAG_MACRO_HPP_
8 #include <string>
9 #include "owlcpp/node_id.hpp"
10 
26 #define OWLCPP_NODE_TAG_TYPE(name, ns, frag_id, i) struct name { \
27  typedef ns ns_type; \
28  typedef ::owlcpp::Node_id id_type; \
29  static const id_type::value_type index = i; \
30  static std::string const& fragment() { \
31  static const std::string str = std::string(frag_id); \
32  return str; \
33  } \
34  static id_type id() {return id_type(index);} \
35 }
36 /* */
37 
38 #endif /* NODE_IRI_TAG_MACRO_HPP_ */