owlcpp
v0.3.3~
C++ library for working with OWL ontologies
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Macros
Pages
include
owlcpp
rdf
node.hpp
Go to the documentation of this file.
1
6
#ifndef RDF_NODE_HPP_
7
#define RDF_NODE_HPP_
8
#include "
owlcpp/ns_id.hpp
"
9
10
namespace
owlcpp{
11
class
Visitor_node;
12
15
class
Node
{
16
friend
inline
std::size_t hash_value(
Node
const
& node)
17
{
return
node.hash_impl();}
18
19
public
:
20
Ns_id
ns_id()
const
{
return
ns_id_impl();}
21
bool
operator== (
const
Node
& n)
const
{
return
equal_impl(n);}
22
bool
operator!= (
const
Node
& n)
const
{
return
! equal_impl(n);}
23
void
accept(
Visitor_node
& visitor)
const
{accept_impl(visitor);}
24
Node
* clone()
const
{
return
clone_impl();}
25
virtual
~
Node
() {}
26
27
private
:
28
virtual
Ns_id
ns_id_impl()
const
=0;
29
virtual
std::size_t hash_impl()
const
=0;
30
virtual
bool
equal_impl(
const
Node
& n)
const
=0;
31
virtual
void
accept_impl(
Visitor_node
&)
const
=0;
32
virtual
Node
* clone_impl()
const
=0;
33
};
34
35
}
//namespace owlcpp
36
#endif
/* RDF_NODE_HPP_ */
Generated on Tue Dec 10 2013 17:00:47 for owlcpp by
1.8.1.2