Claw 1.7.3
Public Types | Public Member Functions | List of all members
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_typeoperator++ ()
 
self_type operator++ (int)
 
self_typeoperator-- ()
 
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: