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