claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function > Class Template Reference

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 (const Iterator &it)
| wrapped_iterator_by_category (const Iterator &it, const Function &f)
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

## Detailed Description

template<typename Value, typename Iterator, typename Function>
class claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >

Base class for wrapped iterators, specialized for bidirectional iterators.

Author
  Julien Jorge

Definition at line 127 of file iterator.hpp.

## Member Typedef Documentation

## difference_type

template<typename Value, typename Iterator, typename Function>

typedef std::iterator_traits<Iterator>::difference_type claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::difference_type

Definition at line 132 of file iterator.hpp.

## iterator_category

template<typename Value, typename Iterator, typename Function>

typedef std::iterator_traits<Iterator>::iterator_category claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::iterator_category

Definition at line 137 of file iterator.hpp.

## pointer

template<typename Value, typename Iterator, typename Function>

typedef value_type* claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::pointer

Definition at line 134 of file iterator.hpp.

## reference

template<typename Value, typename Iterator, typename Function>

typedef value_type& claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::reference

Definition at line 135 of file iterator.hpp.

## self_type

template<typename Value, typename Iterator, typename Function>

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 141 of file iterator.hpp.

## value_type

template<typename Value, typename Iterator, typename Function>

typedef Value claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::value_type

Definition at line 133 of file iterator.hpp.

## Constructor & Destructor Documentation

## wrapped_iterator_by_category() [1/4]

template<typename Value, typename Iterator, typename Function>

claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::wrapped_iterator_by_category | ( |  | ) |

inline

Definition at line 144 of file iterator.hpp.

## wrapped_iterator_by_category() [2/4]

template<typename Value, typename Iterator, typename Function>

claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::wrapped_iterator_by_category | ( | const Iterator & | it | ) |

inline

Definition at line 145 of file iterator.hpp.

## wrapped_iterator_by_category() [3/4]

template<typename Value, typename Iterator, typename Function>

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 148 of file iterator.hpp.

## wrapped_iterator_by_category() [4/4]

template<typename Value, typename Iterator, typename Function>
template<typename C, typename V, typename I, typename F>

claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::wrapped_iterator_by_category | ( | const wrapped_iterator_by_category< C, V, I, F > & | that | ) |

inline

Definition at line 152 of file iterator.hpp.

## Member Function Documentation

## get_function()

template<typename Value, typename Iterator, typename Function>

const Function & claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::get_function | ( |  | ) | const

inline

Definition at line 158 of file iterator.hpp.

## get_iterator()

template<typename Value, typename Iterator, typename Function>

const Iterator & claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::get_iterator | ( |  | ) | const

inline

Definition at line 157 of file iterator.hpp.

## operator!=() [1/2]

template<typename Value, typename Iterator, typename Function>

bool claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::operator!= | ( | const Iterator & | it | ) | const

inline

Definition at line 192 of file iterator.hpp.

## operator!=() [2/2]

template<typename Value, typename Iterator, typename Function>

bool claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::operator!= | ( | const self_type & | that | ) | const

inline

Definition at line 190 of file iterator.hpp.

## operator*()

template<typename Value, typename Iterator, typename Function>

reference claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::operator* | ( |  | ) | const

inline

Definition at line 186 of file iterator.hpp.

## operator++() [1/2]

template<typename Value, typename Iterator, typename Function>

self_type & claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::operator++ | ( |  | ) |

inline

Definition at line 160 of file iterator.hpp.

## operator++() [2/2]

template<typename Value, typename Iterator, typename Function>

self_type claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::operator++ | ( | int |  | ) |

inline

Definition at line 166 of file iterator.hpp.

## operator--() [1/2]

template<typename Value, typename Iterator, typename Function>

self_type & claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::operator-- | ( |  | ) |

inline

Definition at line 173 of file iterator.hpp.

## operator--() [2/2]

template<typename Value, typename Iterator, typename Function>

self_type claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::operator-- | ( | int |  | ) |

inline

Definition at line 179 of file iterator.hpp.

## operator->()

template<typename Value, typename Iterator, typename Function>

pointer claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::operator-> | ( |  | ) | const

inline

Definition at line 187 of file iterator.hpp.

## operator==() [1/2]

template<typename Value, typename Iterator, typename Function>

bool claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::operator== | ( | const Iterator & | it | ) | const

inline

Definition at line 191 of file iterator.hpp.

## operator==() [2/2]

template<typename Value, typename Iterator, typename Function>

bool claw::wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >::operator== | ( | const self_type & | that | ) | const

inline

Definition at line 189 of file iterator.hpp.

The documentation for this class was generated from the following file:

- iterator.hpp