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
triple.hpp
Go to the documentation of this file.
1
6
#ifndef TRIPLE_HPP_
7
#define TRIPLE_HPP_
8
#include <iosfwd>
9
#include "
owlcpp/doc_id.hpp
"
10
#include "
owlcpp/node_id.hpp
"
11
12
namespace
owlcpp{
13
16
struct
Triple
{
17
static
Triple
make(
18
const
Node_id
subj,
const
Node_id
pred,
19
const
Node_id
obj,
const
Doc_id
doc
20
) {
21
Triple
t;
22
t.subj_ = subj;
23
t.pred_ = pred;
24
t.obj_ = obj;
25
t.doc_ = doc;
26
return
t;
27
}
28
29
Node_id
subj_, pred_, obj_;
30
Doc_id
doc_;
31
32
bool
operator==(
Triple
const
& t)
const
{
33
return
subj_==t.subj_ && pred_==t.pred_ && obj_==t.obj_ && doc_==t.doc_;
34
}
35
36
bool
operator!=(
Triple
const
& t)
const
{
return
!(*
this
== t);}
37
};
38
41
template
<
class
ChT,
class
Tr>
inline
std::basic_ostream<ChT,Tr>& operator<<(
42
std::basic_ostream<ChT,Tr>& os,
43
Triple
const
& t
44
) {
45
return
os << t.subj_ <<
','
<< t.pred_ <<
','
<< t.obj_ <<
','
<< t.doc_;
46
}
47
48
49
}
//namespace owlcpp
50
#endif
/* TRIPLE_HPP_ */
Generated on Tue Dec 10 2013 17:00:47 for owlcpp by
1.8.1.2