LLVM  6.0.0svn
Public Types | Public Member Functions | Public Attributes | List of all members
llvm::mapped_iterator< RootIt, UnaryFunc > Class Template Reference

#include "llvm/ADT/STLExtras.h"

Collaboration diagram for llvm::mapped_iterator< RootIt, UnaryFunc >:
Collaboration graph
[legend]

Public Types

typedef std::iterator_traits< RootIt >::iterator_category iterator_category
 
typedef std::iterator_traits< RootIt >::difference_type difference_type
 
typedef void pointer
 
typedef void reference
 
typedef RootIt iterator_type
 

Public Member Functions

const RootIt & getCurrent () const
 
const UnaryFunc & getFunc () const
 
 mapped_iterator (const RootIt &I, UnaryFunc F)
 
value_type operator* () const
 
mapped_iteratoroperator++ ()
 
mapped_iteratoroperator-- ()
 
mapped_iterator operator++ (int)
 
mapped_iterator operator-- (int)
 
mapped_iterator operator+ (difference_type n) const
 
mapped_iteratoroperator+= (difference_type n)
 
mapped_iterator operator- (difference_type n) const
 
mapped_iteratoroperator-= (difference_type n)
 
reference operator[] (difference_type n) const
 
bool operator!= (const mapped_iterator &X) const
 
bool operator== (const mapped_iterator &X) const
 
bool operator< (const mapped_iterator &X) const
 
difference_type operator- (const mapped_iterator &X) const
 

Public Attributes

decltype(std::declval< UnaryFunc >()(*std::declval< RootIt >())) typedef value_type
 

Detailed Description

template<class RootIt, class UnaryFunc>
class llvm::mapped_iterator< RootIt, UnaryFunc >

Definition at line 137 of file STLExtras.h.

Member Typedef Documentation

◆ difference_type

template<class RootIt, class UnaryFunc>
typedef std::iterator_traits<RootIt>::difference_type llvm::mapped_iterator< RootIt, UnaryFunc >::difference_type

Definition at line 144 of file STLExtras.h.

◆ iterator_category

template<class RootIt, class UnaryFunc>
typedef std::iterator_traits<RootIt>::iterator_category llvm::mapped_iterator< RootIt, UnaryFunc >::iterator_category

Definition at line 142 of file STLExtras.h.

◆ iterator_type

template<class RootIt, class UnaryFunc>
typedef RootIt llvm::mapped_iterator< RootIt, UnaryFunc >::iterator_type

Definition at line 152 of file STLExtras.h.

◆ pointer

template<class RootIt, class UnaryFunc>
typedef void llvm::mapped_iterator< RootIt, UnaryFunc >::pointer

Definition at line 148 of file STLExtras.h.

◆ reference

template<class RootIt, class UnaryFunc>
typedef void llvm::mapped_iterator< RootIt, UnaryFunc >::reference

Definition at line 150 of file STLExtras.h.

Constructor & Destructor Documentation

◆ mapped_iterator()

template<class RootIt, class UnaryFunc>
llvm::mapped_iterator< RootIt, UnaryFunc >::mapped_iterator ( const RootIt &  I,
UnaryFunc  F 
)
inlineexplicit

Definition at line 157 of file STLExtras.h.

Member Function Documentation

◆ getCurrent()

template<class RootIt, class UnaryFunc>
const RootIt& llvm::mapped_iterator< RootIt, UnaryFunc >::getCurrent ( ) const
inline

Definition at line 154 of file STLExtras.h.

Referenced by llvm::operator+(), and llvm::CatchSwitchInst::removeHandler().

◆ getFunc()

template<class RootIt, class UnaryFunc>
const UnaryFunc& llvm::mapped_iterator< RootIt, UnaryFunc >::getFunc ( ) const
inline

Definition at line 155 of file STLExtras.h.

Referenced by llvm::operator+().

◆ operator!=()

template<class RootIt, class UnaryFunc>
bool llvm::mapped_iterator< RootIt, UnaryFunc >::operator!= ( const mapped_iterator< RootIt, UnaryFunc > &  X) const
inline

Definition at line 198 of file STLExtras.h.

References llvm::operator==().

◆ operator*()

template<class RootIt, class UnaryFunc>
value_type llvm::mapped_iterator< RootIt, UnaryFunc >::operator* ( ) const
inline

Definition at line 160 of file STLExtras.h.

◆ operator+()

template<class RootIt, class UnaryFunc>
mapped_iterator llvm::mapped_iterator< RootIt, UnaryFunc >::operator+ ( difference_type  n) const
inline

Definition at line 182 of file STLExtras.h.

◆ operator++() [1/2]

template<class RootIt, class UnaryFunc>
mapped_iterator& llvm::mapped_iterator< RootIt, UnaryFunc >::operator++ ( )
inline

Definition at line 164 of file STLExtras.h.

◆ operator++() [2/2]

template<class RootIt, class UnaryFunc>
mapped_iterator llvm::mapped_iterator< RootIt, UnaryFunc >::operator++ ( int  )
inline

Definition at line 172 of file STLExtras.h.

◆ operator+=()

template<class RootIt, class UnaryFunc>
mapped_iterator& llvm::mapped_iterator< RootIt, UnaryFunc >::operator+= ( difference_type  n)
inline

Definition at line 185 of file STLExtras.h.

◆ operator-() [1/2]

template<class RootIt, class UnaryFunc>
mapped_iterator llvm::mapped_iterator< RootIt, UnaryFunc >::operator- ( difference_type  n) const
inline

Definition at line 189 of file STLExtras.h.

◆ operator-() [2/2]

template<class RootIt, class UnaryFunc>
difference_type llvm::mapped_iterator< RootIt, UnaryFunc >::operator- ( const mapped_iterator< RootIt, UnaryFunc > &  X) const
inline

Definition at line 204 of file STLExtras.h.

◆ operator--() [1/2]

template<class RootIt, class UnaryFunc>
mapped_iterator& llvm::mapped_iterator< RootIt, UnaryFunc >::operator-- ( )
inline

Definition at line 168 of file STLExtras.h.

◆ operator--() [2/2]

template<class RootIt, class UnaryFunc>
mapped_iterator llvm::mapped_iterator< RootIt, UnaryFunc >::operator-- ( int  )
inline

Definition at line 177 of file STLExtras.h.

◆ operator-=()

template<class RootIt, class UnaryFunc>
mapped_iterator& llvm::mapped_iterator< RootIt, UnaryFunc >::operator-= ( difference_type  n)
inline

Definition at line 192 of file STLExtras.h.

◆ operator<()

template<class RootIt, class UnaryFunc>
bool llvm::mapped_iterator< RootIt, UnaryFunc >::operator< ( const mapped_iterator< RootIt, UnaryFunc > &  X) const
inline

Definition at line 202 of file STLExtras.h.

◆ operator==()

template<class RootIt, class UnaryFunc>
bool llvm::mapped_iterator< RootIt, UnaryFunc >::operator== ( const mapped_iterator< RootIt, UnaryFunc > &  X) const
inline

Definition at line 199 of file STLExtras.h.

◆ operator[]()

template<class RootIt, class UnaryFunc>
reference llvm::mapped_iterator< RootIt, UnaryFunc >::operator[] ( difference_type  n) const
inline

Definition at line 196 of file STLExtras.h.

Member Data Documentation

◆ value_type

template<class RootIt, class UnaryFunc>
decltype(std::declval<UnaryFunc>()(*std::declval<RootIt>())) typedef llvm::mapped_iterator< RootIt, UnaryFunc >::value_type

Definition at line 146 of file STLExtras.h.


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