Base class for wrapped iterators, specialized for random 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::random_access_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) | |
template<typename V , typename I > | |
wrapped_iterator_by_category (const wrapped_iterator_by_category< std::random_access_iterator_tag, V, I, Function > &that) | |
template<typename C , typename V , typename I , typename F > | |
wrapped_iterator_by_category (const wrapped_iterator_by_category< C, V, I, F > &that) | |
const Iterator & | get_iterator () const |
const Function & | get_function () const |
self_type & | operator++ () |
self_type | operator++ (int) |
self_type & | operator-- () |
self_type | operator-- (int) |
reference | operator* () const |
pointer | operator-> () const |
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 |
bool | operator< (const self_type &that) const |
bool | operator<= (const self_type &that) const |
bool | operator> (const self_type &that) const |
bool | operator>= (const self_type &that) const |
self_type & | operator+= (int n) |
self_type | operator+ (int n) const |
self_type & | operator-= (int n) |
self_type | operator- (int n) const |
reference | operator[] (int n) |
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 random iterators.
Definition at line 209 of file iterator.hpp.
typedef std::iterator_traits<Iterator>::difference_type claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::difference_type |
Definition at line 214 of file iterator.hpp.
typedef std::iterator_traits<Iterator>::iterator_category claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::iterator_category |
Definition at line 219 of file iterator.hpp.
typedef value_type* claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::pointer |
Definition at line 216 of file iterator.hpp.
typedef value_type& claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::reference |
Definition at line 217 of file iterator.hpp.
typedef wrapped_iterator_by_category<std::random_access_iterator_tag, Value, Iterator, Function> claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::self_type |
Definition at line 224 of file iterator.hpp.
typedef Value claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::value_type |
Definition at line 215 of file iterator.hpp.
claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::wrapped_iterator_by_category | ( | ) | [inline] |
Definition at line 227 of file iterator.hpp.
{}
claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::wrapped_iterator_by_category | ( | const Iterator & | it ) | [inline] |
Definition at line 228 of file iterator.hpp.
: m_it(it) { }
claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::wrapped_iterator_by_category | ( | const Iterator & | it, |
const Function & | f | ||
) | [inline] |
Definition at line 231 of file iterator.hpp.
claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::wrapped_iterator_by_category | ( | const wrapped_iterator_by_category< std::random_access_iterator_tag, V, I, Function > & | that ) | [inline] |
Definition at line 236 of file iterator.hpp.
claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::wrapped_iterator_by_category | ( | const wrapped_iterator_by_category< C, V, I, F > & | that ) | [inline] |
Definition at line 242 of file iterator.hpp.
const Function& claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::get_function | ( | ) | const [inline] |
Definition at line 247 of file iterator.hpp.
{ return m_fun; }
const Iterator& claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::get_iterator | ( | ) | const [inline] |
Definition at line 246 of file iterator.hpp.
{ return m_it; }
bool claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::operator!= | ( | const self_type & | that ) | const [inline] |
bool claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::operator!= | ( | const Iterator & | it ) | const [inline] |
Definition at line 281 of file iterator.hpp.
{ return m_it != it; }
reference claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::operator* | ( | ) | const [inline] |
Definition at line 275 of file iterator.hpp.
self_type claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::operator+ | ( | int | n ) | const [inline] |
Definition at line 293 of file iterator.hpp.
{ self_type result(*this); result += n; return result; }
self_type claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::operator++ | ( | int | ) | [inline] |
Definition at line 255 of file iterator.hpp.
self_type& claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::operator++ | ( | ) | [inline] |
Definition at line 249 of file iterator.hpp.
{ ++m_it; return *this; }
self_type& claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::operator+= | ( | int | n ) | [inline] |
Definition at line 287 of file iterator.hpp.
{ m_it += n; return *this; }
self_type claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::operator- | ( | int | n ) | const [inline] |
Definition at line 302 of file iterator.hpp.
{ self_type result(*this); result -= n; return result; }
self_type& claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::operator-- | ( | ) | [inline] |
Definition at line 262 of file iterator.hpp.
{ --m_it; return *this; }
self_type claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::operator-- | ( | int | ) | [inline] |
Definition at line 268 of file iterator.hpp.
self_type& claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::operator-= | ( | int | n ) | [inline] |
Definition at line 300 of file iterator.hpp.
{ return *this += -n; }
pointer claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::operator-> | ( | ) | const [inline] |
Definition at line 276 of file iterator.hpp.
bool claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::operator< | ( | const self_type & | that ) | const [inline] |
bool claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::operator<= | ( | const self_type & | that ) | const [inline] |
bool claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::operator== | ( | const self_type & | that ) | const [inline] |
bool claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::operator== | ( | const Iterator & | it ) | const [inline] |
Definition at line 280 of file iterator.hpp.
{ return m_it == it; }
bool claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::operator> | ( | const self_type & | that ) | const [inline] |
bool claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::operator>= | ( | const self_type & | that ) | const [inline] |
reference claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::operator[] | ( | int | n ) | [inline] |
Definition at line 309 of file iterator.hpp.
Function claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::m_fun [private] |
The function applied to the pointed items.
Definition at line 316 of file iterator.hpp.
Iterator claw::wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >::m_it [private] |
The effective iterator.
Definition at line 313 of file iterator.hpp.
Referenced by operator!=(), operator<(), operator<=(), operator==(), operator>(), and operator>=().