BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
atomContainerIterator.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 // $Id: atomContainerIterator.h,v 1.21 2005/10/23 12:02:17 oliver Exp $
5 //
6 
7 #ifndef BALL_KERNEL_ATOMCONTAINERITERATOR_H
8 #define BALL_KERNEL_ATOMCONTAINERITERATOR_H
9 
10 #ifndef BALL_KERNEL_ITERATOR_H
11 # include <BALL/KERNEL/iterator.h>
12 #endif
13 
14 #ifndef BALL_KERNEL_PREDICATE_H
15 # include <BALL/KERNEL/predicate.h>
16 #endif
17 
18 namespace BALL
19 {
20  class AtomContainer;
21 
28  {
29  public:
30 
32 
33  AtomContainerIteratorTraits(const Composite& composite);
34 
36 
37  AtomContainerIteratorTraits& operator = (const AtomContainerIteratorTraits& traits);
38 
39  void resetPredicate();
40  };
41 
42 
45  {
46  predicate_ = &RTTI::getDefault<KernelPredicate<AtomContainer> >();
47  }
48 
50  : CompositeIteratorTraits(composite)
51  {
52  predicate_ = &RTTI::getDefault<KernelPredicate<AtomContainer> >();
53  }
54 
56  : CompositeIteratorTraits(traits)
57  {
58  }
59 
60  inline
61  AtomContainerIteratorTraits& AtomContainerIteratorTraits::operator =
63  {
65  return *this;
66  }
67 
68  inline
70  {
71  predicate_ = &RTTI::getDefault<KernelPredicate<AtomContainer> >();
72  }
73 
74 
79 
82  typedef BidirectionalIterator
85 
91 
93  typedef std::reverse_iterator<AtomContainerIterator> AtomContainerReverseIterator;
94 
96  typedef std::reverse_iterator<AtomContainerConstIterator> AtomContainerConstReverseIterator;
97 
99 } // namespace BALL
100 
101 #endif // BALL_KERNEL_ATOMCONTAINERITERATOR_H