BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
moleculeIterator.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 // $Id: moleculeIterator.h,v 1.16 2005/10/23 12:02:19 oliver Exp $
5 //
6 
7 #ifndef BALL_KERNEL_MOLECULEITERATOR_H
8 #define BALL_KERNEL_MOLECULEITERATOR_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 {
25  {
26  public:
27 
30  {
31  predicate_ = &RTTI::getDefault<KernelPredicate<Molecule> >();
32  }
33 
35  : CompositeIteratorTraits(composite)
36  {
37  predicate_ = &RTTI::getDefault<KernelPredicate<Molecule> >();
38  }
39 
40  MoleculeIteratorTraits(const MoleculeIteratorTraits& traits, bool /* deep */ = true)
41  : CompositeIteratorTraits(traits)
42  {
43  }
44 
45  MoleculeIteratorTraits &operator = (const MoleculeIteratorTraits& traits)
46  {
48  return *this;
49  }
50 
51  void resetPredicate()
52  {
53  predicate_ = &RTTI::getDefault<KernelPredicate<Molecule> >();
54  }
55  };
56 
57 
59  typedef BidirectionalIterator
60  <Composite, Molecule, Composite::CompositeIterator, MoleculeIteratorTraits>
62 
67 
69  typedef std::reverse_iterator<MoleculeIterator> MoleculeReverseIterator;
70 
72  typedef std::reverse_iterator<MoleculeConstIterator> MoleculeConstReverseIterator;
73 
74 } // namespace BALL
75 
76 #endif // BALL_KERNEL_MOLECULEITERATOR_H