BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
nucleotideIterator.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 // $Id: nucleotideIterator.h,v 1.13 2005/10/23 12:02:19 oliver Exp $
5 //
6 
7 #ifndef BALL_KERNEL_NUCLEOTIDEITERATOR_H
8 #define BALL_KERNEL_NUCLEOTIDEITERATOR_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 {
20  class Nucleotide;
21 
27  {
28  public:
29 
32  {
33  predicate_ = &RTTI::getDefault<KernelPredicate<Nucleotide> >();
34  }
35 
37  : CompositeIteratorTraits(composite)
38  {
39  predicate_ = &RTTI::getDefault<KernelPredicate<Nucleotide> >();
40  }
41 
42  NucleotideIteratorTraits(const NucleotideIteratorTraits& traits, bool /* deep */ = true)
43  : CompositeIteratorTraits(traits)
44  {
45  }
46 
48  {
50  return *this;
51  }
52 
53  void resetPredicate()
54  {
55  predicate_ = &RTTI::getDefault<KernelPredicate<Nucleotide> >();
56  }
57  };
58 
59 
60 
61  typedef BidirectionalIterator
62  <Composite, Nucleotide, Composite::CompositeIterator, NucleotideIteratorTraits>
64 
68 
69  typedef std::reverse_iterator<NucleotideIterator> NucleotideReverseIterator;
70 
71  typedef std::reverse_iterator<NucleotideConstIterator> NucleotideConstReverseIterator;
72 } // namespace BALL
73 
74 #endif // BALL_KERNEL_NUCLEOTIDEITERATOR_H