owlcpp  v0.3.3~
C++ library for working with OWL ontologies
 All Classes Namespaces Files Functions Macros Pages
Macros
node_iri_tag_macro.hpp File Reference
#include <string>
#include "owlcpp/node_id.hpp"

Go to the source code of this file.

Macros

#define OWLCPP_NODE_TAG_TYPE(name, ns, frag_id, i)
 Generate light-weight type definition for standard OWL term.

Detailed Description

part of owlcpp project.

Distributed under the Boost Software License, Version 1.0; see doc/license.txt.
Copyright Mikhail K Levin 2013

Macro Definition Documentation

#define OWLCPP_NODE_TAG_TYPE (   name,
  ns,
  frag_id,
 
)
Value:
struct name { \
typedef ns ns_type; \
typedef ::owlcpp::Node_id id_type; \
static const id_type::value_type index = i; \
static std::string const& fragment() { \
static const std::string str = std::string(frag_id); \
return str; \
} \
static id_type id() {return id_type(index);} \
}

Generate light-weight type definition for standard OWL term.

OWLCPP_NODE_TAG_TYPE(owl_allValuesFrom, owl, "allValuesFrom", 4);
struct owl_allValuesFrom {
typedef owl ns_type;
typedef ::owlcpp::Node_id id_type;
static const unsigned index = 4;
static std::string const & name() {
static const std::string str = std::string("allValuesFrom");
return str;
}
static ns_type id() {return ::owlcpp::Node_id(index);}
};