BALL
1.4.2
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
BALL
KERNEL
atomIterator.h
Go to the documentation of this file.
1
// -*- Mode: C++; tab-width: 2; -*-
2
// vi: set ts=2:
3
//
4
// $Id: atomIterator.h,v 1.21 2005/10/23 12:02:17 oliver Exp $
5
//
6
7
#ifndef BALL_KERNEL_ATOMITERATOR_H
8
#define BALL_KERNEL_ATOMITERATOR_H
9
10
#ifndef BALL_KERNEL_ATOM_H
11
# include <
BALL/KERNEL/atom.h
>
12
#endif
13
14
#ifndef BALL_KERNEL_ITERATOR_H
15
# include <
BALL/KERNEL/iterator.h
>
16
#endif
17
18
#ifndef BALL_KERNEL_PREDICATE_H
19
# include <
BALL/KERNEL/predicate.h
>
20
#endif
21
22
namespace
BALL
23
{
28
class
BALL_EXPORT
AtomIteratorTraits
29
:
public
CompositeIteratorTraits
30
{
31
public
:
32
33
inline
AtomIteratorTraits
()
34
:
CompositeIteratorTraits
()
35
{
36
predicate_ = &RTTI::getDefault<KernelPredicate<Atom> >();
37
}
38
39
inline
AtomIteratorTraits
(
const
AtomIteratorTraits
& traits)
40
41
:
CompositeIteratorTraits
(traits)
42
{
43
}
44
45
AtomIteratorTraits
(
const
Composite
& composite);
46
47
AtomIteratorTraits
& operator = (
const
AtomIteratorTraits
& traits);
48
49
void
resetPredicate();
50
};
51
52
53
inline
AtomIteratorTraits::AtomIteratorTraits
(
const
Composite
& composite)
54
:
CompositeIteratorTraits
(composite)
55
{
56
predicate_
= &RTTI::getDefault<KernelPredicate<Atom> >();
57
}
58
59
inline
AtomIteratorTraits
&
AtomIteratorTraits::operator =
(
const
AtomIteratorTraits
& traits)
60
{
61
CompositeIteratorTraits::operator =
(traits);
62
return
*
this
;
63
}
64
65
inline
void
AtomIteratorTraits::resetPredicate
()
66
{
67
predicate_
= &RTTI::getDefault<KernelPredicate<Atom> >();
68
}
69
70
75
78
typedef
BidirectionalIterator
79
<
Composite
,
Atom
,
Composite::CompositeIterator
,
AtomIteratorTraits
>
80
AtomIterator
;
81
84
typedef
ConstBidirectionalIterator
85
<
Composite
,
Atom
,
Composite::CompositeIterator
,
AtomIteratorTraits
>
86
AtomConstIterator
;
87
89
typedef
std::reverse_iterator<AtomIterator>
AtomReverseIterator
;
90
92
typedef
std::reverse_iterator<AtomConstIterator>
AtomConstReverseIterator
;
93
95
}
// namespace BALL
96
97
#endif // BALL_KERNEL_ATOMITERATOR_H
98
Generated by
1.8.3.1