BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
residueIterator.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 // $Id: residueIterator.h,v 1.15 2005/10/23 12:02:20 oliver Exp $
5 //
6 
7 #ifndef BALL_KERNEL_RESIDUEITERATOR_H
8 #define BALL_KERNEL_RESIDUEITERATOR_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 {
26  {
27  public:
28 
31  {
32  predicate_ = &RTTI::getDefault<KernelPredicate<Residue> >();
33  }
34 
35  ResidueIteratorTraits(const Composite& composite)
36  : CompositeIteratorTraits(composite)
37  {
38  predicate_ = &RTTI::getDefault<KernelPredicate<Residue> >();
39  }
40 
41  ResidueIteratorTraits(const ResidueIteratorTraits& traits, bool /* deep */ = true)
42  : CompositeIteratorTraits(traits)
43  {
44  }
45 
46  ResidueIteratorTraits& operator =(const ResidueIteratorTraits& traits)
47  {
49  return *this;
50  }
51 
52  void resetPredicate()
53  {
54  predicate_ = &RTTI::getDefault<KernelPredicate<Residue> >();
55  }
56  };
57 
58 
60  typedef BidirectionalIterator
61  <Composite, Residue, Composite::CompositeIterator, ResidueIteratorTraits>
63 
68 
70  typedef std::reverse_iterator<ResidueIterator> ResidueReverseIterator;
71 
73  typedef std::reverse_iterator<ResidueConstIterator> ResidueConstReverseIterator;
74 
75 } // namespace BALL
76 
77 #endif // BALL_KERNEL_RESIDUEITERATOR_H