Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

Iterator< Wrappee > Class Template Reference

#include <MalWrapper.hpp>

Collaboration diagram for Iterator< Wrappee >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::random_access_iterator_tag iterator_category
typedef char value_type
typedef int difference_type
typedef value_typepointer
typedef value_typereference

Public Member Functions

 Iterator ()
 Iterator (Wrappee *w, size_t r, size_t c)
Iteratoroperator++ ()
Iterator operator++ (int)
value_type operator * ()
size_t r ()
size_t c ()

Private Attributes

Wrappee * w_
size_t r_
size_t c_

Friends

Iterator< MAloperator+ (Iterator< MAl > it, int i)
Iterator< MAloperator- (Iterator< MAl > it, int i)
difference_type operator- (Iterator< MAl > it1, Iterator< MAl > it2)
bool operator== (Iterator< MAl > &it1, Iterator< MAl > &it2)
bool operator!= (Iterator< MAl > &it1, Iterator< MAl > &it2)

Detailed Description

template<typename Wrappee>
class Iterator< Wrappee >

Defines an iterator to be used in class MAlWrapper since Realigner uses iterators to iterate through reads.

Definition at line 17 of file MalWrapper.hpp.


Member Typedef Documentation

template<typename Wrappee>
typedef int Iterator< Wrappee >::difference_type
 

Definition at line 21 of file MalWrapper.hpp.

template<typename Wrappee>
typedef std::random_access_iterator_tag Iterator< Wrappee >::iterator_category
 

Definition at line 19 of file MalWrapper.hpp.

template<typename Wrappee>
typedef value_type* Iterator< Wrappee >::pointer
 

Definition at line 22 of file MalWrapper.hpp.

template<typename Wrappee>
typedef value_type& Iterator< Wrappee >::reference
 

Definition at line 23 of file MalWrapper.hpp.

template<typename Wrappee>
typedef char Iterator< Wrappee >::value_type
 

Definition at line 20 of file MalWrapper.hpp.


Constructor & Destructor Documentation

template<typename Wrappee>
Iterator< Wrappee >::Iterator  )  [inline]
 

Definition at line 25 of file MalWrapper.hpp.

00025 {}

template<typename Wrappee>
Iterator< Wrappee >::Iterator Wrappee *  w,
size_t  r,
size_t  c
[inline]
 

Definition at line 27 of file MalWrapper.hpp.

00027 : w_(w), r_(r), c_(c) {}


Member Function Documentation

template<typename Wrappee>
size_t Iterator< Wrappee >::c  )  [inline]
 

Definition at line 44 of file MalWrapper.hpp.

References Iterator< Wrappee >::c_.

00044 { return c_; }

template<typename Wrappee>
value_type Iterator< Wrappee >::operator *  )  [inline]
 

Definition at line 40 of file MalWrapper.hpp.

References Iterator< Wrappee >::c_, Iterator< Wrappee >::r_, and Iterator< Wrappee >::w_.

00040                          { 
00041     return w_->get_base_global(r_, c_); // kolla
00042   }

template<typename Wrappee>
Iterator Iterator< Wrappee >::operator++ int   )  [inline]
 

Definition at line 34 of file MalWrapper.hpp.

00034                            {
00035     Iterator tmp( *this );
00036     ++*this;
00037     return tmp;
00038   }

template<typename Wrappee>
Iterator& Iterator< Wrappee >::operator++  )  [inline]
 

Definition at line 29 of file MalWrapper.hpp.

References Iterator< Wrappee >::c_.

00029                           {
00030     ++c_;
00031     return *this;
00032   }

template<typename Wrappee>
size_t Iterator< Wrappee >::r  )  [inline]
 

Definition at line 43 of file MalWrapper.hpp.

References Iterator< Wrappee >::r_.

00043 { return r_; }


Friends And Related Function Documentation

template<typename Wrappee>
bool operator!= Iterator< MAl > &  it1,
Iterator< MAl > &  it2
[friend]
 

Definition at line 70 of file MalWrapper.hpp.

00070                                                           {
00071   return !(it1 == it2);
00072 }

template<typename Wrappee>
Iterator<MAl> operator+ Iterator< MAl it,
int  i
[friend]
 

Definition at line 56 of file MalWrapper.hpp.

00056                                                  { 
00057   it.c_ += i;
00058   return it;
00059 }

template<typename Wrappee>
difference_type operator- Iterator< MAl it1,
Iterator< MAl it2
[friend]
 

Definition at line 64 of file MalWrapper.hpp.

00064                                                                              {
00065   return it1.c_ - it2.c_;
00066 }

template<typename Wrappee>
Iterator<MAl> operator- Iterator< MAl it,
int  i
[friend]
 

Definition at line 60 of file MalWrapper.hpp.

00060                                                  { 
00061   it.c_ -= i;
00062   return it;
00063 }

template<typename Wrappee>
bool operator== Iterator< MAl > &  it1,
Iterator< MAl > &  it2
[friend]
 

Definition at line 67 of file MalWrapper.hpp.

00067                                                           { // by value or by reference?
00068   return it1.r_ == it2.r_ && it1.c_ == it2.c_;
00069 }


Member Data Documentation

template<typename Wrappee>
size_t Iterator< Wrappee >::c_ [private]
 

Definition at line 53 of file MalWrapper.hpp.

Referenced by Iterator< Wrappee >::c(), Iterator< Wrappee >::operator *(), operator+(), Iterator< Wrappee >::operator++(), operator-(), and operator==().

template<typename Wrappee>
size_t Iterator< Wrappee >::r_ [private]
 

Definition at line 53 of file MalWrapper.hpp.

Referenced by Iterator< Wrappee >::operator *(), operator==(), and Iterator< Wrappee >::r().

template<typename Wrappee>
Wrappee* Iterator< Wrappee >::w_ [private]
 

Definition at line 52 of file MalWrapper.hpp.

Referenced by Iterator< Wrappee >::operator *().


The documentation for this class was generated from the following file:
Generated on Fri Mar 17 17:44:59 2006 for trapper by  doxygen 1.4.4