BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
chainIterator.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 // $Id: chainIterator.h,v 1.21 2005/10/23 12:02:18 oliver Exp $
5 //
6 
7 #ifndef BALL_KERNEL_CHAINITERATOR_H
8 #define BALL_KERNEL_CHAINITERATOR_H
9 
10 #ifndef BALL_KERNEL_CHAIN_H
11 # include <BALL/KERNEL/chain.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 {
31  {
32 
33  public:
34 
35  inline ChainIteratorTraits();
36 
37  ChainIteratorTraits(const Composite& composite);
38 
39  inline ChainIteratorTraits(const ChainIteratorTraits& traits);
40 
41  ChainIteratorTraits& operator = (const ChainIteratorTraits& traits);
42 
43  void resetPredicate();
44  };
45 
48  {
49  predicate_ = &RTTI::getDefault<KernelPredicate<Chain> >();
50  }
51 
53  : CompositeIteratorTraits(composite)
54  {
55  predicate_ = &RTTI::getDefault<KernelPredicate<Chain> >();
56  }
57 
59  : CompositeIteratorTraits(traits)
60  {
61  }
62 
64  {
66  return *this;
67  }
68 
70  {
71  predicate_ = &RTTI::getDefault<KernelPredicate<Chain> >();
72  }
73 
78 
82 
86 
88  typedef std::reverse_iterator<ChainIterator> ChainReverseIterator;
89 
91  typedef std::reverse_iterator<ChainConstIterator> ChainConstReverseIterator;
93 } // namespace BALL
94 
95 #endif // BALL_KERNEL_CHAINITERATOR_H
96