claw 1.9.0
Loading...
Searching...
No Matches
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 147 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 152 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 157 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 154 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 155 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 161 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 153 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 164 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 166 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 169 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 174 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 184 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 180 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 236 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 228 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 215 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 189 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 195 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 202 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 208 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 219 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 232 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 224 of file iterator.hpp.


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