BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 {
30  {
31  public:
32 
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 
54  : CompositeIteratorTraits(composite)
55  {
56  predicate_ = &RTTI::getDefault<KernelPredicate<Atom> >();
57  }
58 
60  {
62  return *this;
63  }
64 
66  {
67  predicate_ = &RTTI::getDefault<KernelPredicate<Atom> >();
68  }
69 
70 
75 
78  typedef BidirectionalIterator
81 
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