Base class for wrapped iterators, specialized for bidirectional iterators. More...
#include <iterator.hpp>
Public Types | |
typedef std::iterator_traits < Iterator >::difference_type | difference_type |
typedef Value | value_type |
typedef value_type * | pointer |
typedef value_type & | reference |
typedef std::iterator_traits < Iterator > ::iterator_category | iterator_category |
typedef wrapped_iterator_by_category < std::bidirectional_iterator_tag, Value, Iterator, Function > | self_type |
Public Member Functions | |
wrapped_iterator_by_category () | |
wrapped_iterator_by_category (const Iterator &it) | |
wrapped_iterator_by_category (const Iterator &it, const Function &f) | |
self_type & | operator++ () |
self_type | operator++ (int) |
self_type & | operator-- () |
self_type | operator-- (int) |
reference | operator* () |
pointer | operator-> () |
bool | operator== (const self_type &that) const |
bool | operator!= (const self_type &that) const |
bool | operator== (const Iterator &it) const |
bool | operator!= (const Iterator &it) const |
Private Attributes | |
Iterator | m_it |
The effective iterator. | |
Function | m_fun |
The function applied to the pointed items. |
Base class for wrapped iterators, specialized for bidirectional iterators.
Definition at line 119 of file iterator.hpp.
typedef std::iterator_traits<Iterator>::difference_type claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::difference_type |
Definition at line 124 of file iterator.hpp.
typedef std::iterator_traits<Iterator>::iterator_category claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::iterator_category |
Definition at line 129 of file iterator.hpp.
typedef value_type* claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::pointer |
Definition at line 126 of file iterator.hpp.
typedef value_type& claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::reference |
Definition at line 127 of file iterator.hpp.
typedef wrapped_iterator_by_category<std::bidirectional_iterator_tag, Value, Iterator, Function> claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::self_type |
Definition at line 133 of file iterator.hpp.
typedef Value claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::value_type |
Definition at line 125 of file iterator.hpp.
claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::wrapped_iterator_by_category | ( | ) | [inline] |
Definition at line 136 of file iterator.hpp.
claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::wrapped_iterator_by_category | ( | const Iterator & | it | ) | [inline] |
Definition at line 137 of file iterator.hpp.
00138 : m_it(it) 00139 { }
claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::wrapped_iterator_by_category | ( | const Iterator & | it, | |
const Function & | f | |||
) | [inline] |
Definition at line 140 of file iterator.hpp.
bool claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::operator!= | ( | const Iterator & | it | ) | const [inline] |
Definition at line 176 of file iterator.hpp.
00176 { return m_it != it; }
bool claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::operator!= | ( | const self_type & | that | ) | const [inline] |
reference claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::operator* | ( | ) | [inline] |
Definition at line 170 of file iterator.hpp.
self_type claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::operator++ | ( | int | ) | [inline] |
Definition at line 150 of file iterator.hpp.
self_type& claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::operator++ | ( | ) | [inline] |
Definition at line 144 of file iterator.hpp.
00145 { 00146 ++m_it; 00147 return *this; 00148 }
self_type claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::operator-- | ( | int | ) | [inline] |
Definition at line 163 of file iterator.hpp.
self_type& claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::operator-- | ( | ) | [inline] |
Definition at line 157 of file iterator.hpp.
00158 { 00159 --m_it; 00160 return *this; 00161 }
pointer claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::operator-> | ( | ) | [inline] |
Definition at line 171 of file iterator.hpp.
bool claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::operator== | ( | const Iterator & | it | ) | const [inline] |
Definition at line 175 of file iterator.hpp.
00175 { return m_it == it; }
bool claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::operator== | ( | const self_type & | that | ) | const [inline] |
Function claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::m_fun [private] |
The function applied to the pointed items.
Definition at line 183 of file iterator.hpp.
Iterator claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::m_it [private] |
The effective iterator.
Definition at line 180 of file iterator.hpp.
Referenced by operator!=(), and operator==().