BALL  1.5.0
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 #ifndef BALL_CONCEPT_STDITERATORWRAPPER_H
20 #endif
21 
22 namespace BALL
23 {
31  {
32  public:
33 
34  inline FragmentIteratorTraits();
35 
36  FragmentIteratorTraits(const Composite& composite);
37 
38  inline FragmentIteratorTraits(const FragmentIteratorTraits& traits);
39 
40  FragmentIteratorTraits& operator = (const FragmentIteratorTraits& traits);
41 
42  void resetPredicate();
43  };
44 
47  {
48  predicate_ = &RTTI::getDefault<KernelPredicate<Fragment> >();
49  }
50 
52  : CompositeIteratorTraits(composite)
53  {
54  predicate_ = &RTTI::getDefault<KernelPredicate<Fragment> >();
55  }
56 
58  : CompositeIteratorTraits(traits)
59  {
60  }
61 
63  {
65  return *this;
66  }
67 
69  {
70  predicate_ = &RTTI::getDefault<KernelPredicate<Fragment> >();
71  }
72 
74  typedef BidirectionalIterator
77 
82 
84  typedef std::reverse_iterator<FragmentIterator> FragmentReverseIterator;
85 
87  typedef std::reverse_iterator<FragmentConstIterator> FragmentConstReverseIterator;
88 
91 
92 } // namespace BALL
93 #endif // BALL_KERNEL_FRAGMENTITERATOR_H
BALL_EXPORT
#define BALL_EXPORT
Definition: COMMON/global.h:50
BALL::Composite::CompositeIterator
BidirectionalIterator< Composite, Composite, Composite *, CompositeIteratorTraits > CompositeIterator
Definition: composite.h:1468
IteratorWrapper
#define IteratorWrapper(type)
Definition: stdIteratorWrapper.h:4
BALL::FragmentIteratorTraits
Definition: fragmentIterator.h:31
BALL::FragmentConstIterator
ConstBidirectionalIterator< Composite, Fragment, Composite::CompositeIterator, FragmentIteratorTraits > FragmentConstIterator
Definition: fragmentIterator.h:81
BALL::ConstBidirectionalIterator
Definition: bidirectionalIterator.h:25
stdIteratorWrapper.h
BALL::FragmentIterator
BidirectionalIterator< Composite, Fragment, Composite::CompositeIterator, FragmentIteratorTraits > FragmentIterator
Definition: fragmentIterator.h:76
BALL::FragmentConstReverseIterator
std::reverse_iterator< FragmentConstIterator > FragmentConstReverseIterator
Definition: fragmentIterator.h:87
BALL::FragmentReverseIterator
std::reverse_iterator< FragmentIterator > FragmentReverseIterator
Definition: fragmentIterator.h:84
BALL
Definition: constants.h:13
ConstIteratorWrapper
#define ConstIteratorWrapper(type)
Definition: stdIteratorWrapper.h:17
BALL::FragmentIteratorTraits::resetPredicate
void resetPredicate()
Definition: fragmentIterator.h:68
BALL::FragmentIteratorTraits::FragmentIteratorTraits
FragmentIteratorTraits()
Definition: fragmentIterator.h:45
BALL::Composite
Definition: composite.h:74
BALL::CompositeIteratorTraits::predicate_
const UnaryPredicate< Composite > * predicate_
The predicate.
Definition: iterator.h:235
BALL::CompositeIteratorTraits
Definition: iterator.h:84
BALL::BidirectionalIterator
Mutable bidirectional iterator.
Definition: bidirectionalIterator.h:260
BALL::CompositeIteratorTraits::operator=
CompositeIteratorTraits & operator=(const CompositeIteratorTraits &traits)
Assignment operator.
Definition: iterator.h:259
BALL::Fragment
Definition: fragment.h:22
BALL::FragmentIteratorTraits::operator=
FragmentIteratorTraits & operator=(const FragmentIteratorTraits &traits)
Definition: fragmentIterator.h:62
iterator.h
predicate.h