BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
fragmentIterator.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 // $Id: fragmentIterator.h,v 1.20 2005/10/23 12:02:18 oliver Exp $
5 //
6 
7 #ifndef BALL_KERNEL_FRAGMENTITERATOR_H
8 #define BALL_KERNEL_FRAGMENTITERATOR_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 {
27  {
28  public:
29 
30  inline FragmentIteratorTraits();
31 
32  FragmentIteratorTraits(const Composite& composite);
33 
34  inline FragmentIteratorTraits(const FragmentIteratorTraits& traits);
35 
36  FragmentIteratorTraits& operator = (const FragmentIteratorTraits& traits);
37 
38  void resetPredicate();
39  };
40 
43  {
44  predicate_ = &RTTI::getDefault<KernelPredicate<Fragment> >();
45  }
46 
48  : CompositeIteratorTraits(composite)
49  {
50  predicate_ = &RTTI::getDefault<KernelPredicate<Fragment> >();
51  }
52 
54  : CompositeIteratorTraits(traits)
55  {
56  }
57 
59  {
61  return *this;
62  }
63 
65  {
66  predicate_ = &RTTI::getDefault<KernelPredicate<Fragment> >();
67  }
68 
70  typedef BidirectionalIterator
73 
78 
80  typedef std::reverse_iterator<FragmentIterator> FragmentReverseIterator;
81 
83  typedef std::reverse_iterator<FragmentConstIterator> FragmentConstReverseIterator;
84 
85 } // namespace BALL
86 #endif // BALL_KERNEL_FRAGMENTITERATOR_H