mxnet
Public Types | Public Member Functions | List of all members
mxnet::IterAdapter< Converter, TIter > Class Template Reference

iterator adapter that adapts TIter to return another type. More...

#include <container.h>

Collaboration diagram for mxnet::IterAdapter< Converter, TIter >:
Collaboration graph

Public Types

using difference_type = typename std::iterator_traits< TIter >::difference_type
 
using value_type = typename Converter::ResultType
 
using pointer = typename Converter::ResultType *
 
using reference = typename Converter::ResultType &
 
using iterator_category = typename std::iterator_traits< TIter >::iterator_category
 

Public Member Functions

 IterAdapter (TIter iter)
 
IterAdapteroperator++ ()
 
IterAdapter operator+ (difference_type offset) const
 
template<typename T = IterAdapter>
std::enable_if< std::is_same< iterator_category, std::random_access_iterator_tag >::value, typename T::difference_type >::type operator- (const IterAdapter &rhs) const
 
bool operator== (IterAdapter other) const
 
bool operator!= (IterAdapter other) const
 
const value_type operator* () const
 

Detailed Description

template<typename Converter, typename TIter>
class mxnet::IterAdapter< Converter, TIter >

iterator adapter that adapts TIter to return another type.

Template Parameters
Convertera struct that contains converting function
TIterthe content iterator type.

Member Typedef Documentation

template<typename Converter , typename TIter >
using mxnet::IterAdapter< Converter, TIter >::difference_type = typename std::iterator_traits<TIter>::difference_type
template<typename Converter , typename TIter >
using mxnet::IterAdapter< Converter, TIter >::iterator_category = typename std::iterator_traits<TIter>::iterator_category
template<typename Converter , typename TIter >
using mxnet::IterAdapter< Converter, TIter >::pointer = typename Converter::ResultType*
template<typename Converter , typename TIter >
using mxnet::IterAdapter< Converter, TIter >::reference = typename Converter::ResultType&
template<typename Converter , typename TIter >
using mxnet::IterAdapter< Converter, TIter >::value_type = typename Converter::ResultType

Constructor & Destructor Documentation

template<typename Converter , typename TIter >
mxnet::IterAdapter< Converter, TIter >::IterAdapter ( TIter  iter)
inlineexplicit

Member Function Documentation

template<typename Converter , typename TIter >
bool mxnet::IterAdapter< Converter, TIter >::operator!= ( IterAdapter< Converter, TIter >  other) const
inline
template<typename Converter , typename TIter >
const value_type mxnet::IterAdapter< Converter, TIter >::operator* ( ) const
inline
template<typename Converter , typename TIter >
IterAdapter mxnet::IterAdapter< Converter, TIter >::operator+ ( difference_type  offset) const
inline
template<typename Converter , typename TIter >
IterAdapter& mxnet::IterAdapter< Converter, TIter >::operator++ ( )
inline
template<typename Converter , typename TIter >
template<typename T = IterAdapter>
std::enable_if<std::is_same<iterator_category, std::random_access_iterator_tag>::value, typename T::difference_type>::type mxnet::IterAdapter< Converter, TIter >::operator- ( const IterAdapter< Converter, TIter > &  rhs) const
inline
template<typename Converter , typename TIter >
bool mxnet::IterAdapter< Converter, TIter >::operator== ( IterAdapter< Converter, TIter >  other) const
inline

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