LLVM  15.0.0git
Public Types | Public Member Functions | List of all members
llvm::mapped_iterator_base< DerivedT, ItTy, ReferenceTy > Class Template Reference

A base type of mapped iterator, that is useful for building derived iterators that do not need/want to store the map function (as in mapped_iterator). More...

#include "llvm/ADT/STLExtras.h"

Inheritance diagram for llvm::mapped_iterator_base< DerivedT, ItTy, ReferenceTy >:
Inheritance graph
[legend]
Collaboration diagram for llvm::mapped_iterator_base< DerivedT, ItTy, ReferenceTy >:
Collaboration graph
[legend]

Public Types

using BaseT = mapped_iterator_base
 
- Public Types inherited from llvm::iterator_adaptor_base< DerivedT, ItTy, std::iterator_traits< ItTy >::iterator_category, std::remove_reference_t< ReferenceTy >, std::iterator_traits< ItTy >::difference_type, std::remove_reference_t< ReferenceTy > *, ReferenceTy >
using difference_type = std::iterator_traits< ItTy >::difference_type
 
- Public Types inherited from llvm::iterator_facade_base< DerivedT, std::iterator_traits< ItTy >::iterator_category, std::remove_reference_t< ReferenceTy >, std::iterator_traits< ItTy >::difference_type, std::remove_reference_t< ReferenceTy > *, ReferenceTy >
using iterator_category = std::iterator_traits< ItTy >::iterator_category
 
using value_type = std::remove_reference_t< ReferenceTy >
 
using difference_type = std::iterator_traits< ItTy >::difference_type
 
using pointer = std::remove_reference_t< ReferenceTy > *
 
using reference = ReferenceTy
 

Public Member Functions

 mapped_iterator_base (ItTy U)
 
ItTy getCurrent ()
 
ReferenceTy operator* () const
 
- Public Member Functions inherited from llvm::iterator_adaptor_base< DerivedT, ItTy, std::iterator_traits< ItTy >::iterator_category, std::remove_reference_t< ReferenceTy >, std::iterator_traits< ItTy >::difference_type, std::remove_reference_t< ReferenceTy > *, ReferenceTy >
DerivedT & operator+= (difference_type n)
 
DerivedT & operator-= (difference_type n)
 
difference_type operator- (const DerivedT &RHS) const
 
DerivedT & operator++ ()
 
DerivedT & operator-- ()
 
ReferenceTy operator* () const
 
- Public Member Functions inherited from llvm::iterator_facade_base< DerivedT, std::iterator_traits< ItTy >::iterator_category, std::remove_reference_t< ReferenceTy >, std::iterator_traits< ItTy >::difference_type, std::remove_reference_t< ReferenceTy > *, ReferenceTy >
DerivedT operator+ (std::iterator_traits< ItTy >::difference_type n) const
 
DerivedT operator- (std::iterator_traits< ItTy >::difference_type n) const
 
DerivedT & operator++ ()
 
DerivedT operator++ (int)
 
DerivedT & operator-- ()
 
DerivedT operator-- (int)
 
bool operator!= (const DerivedT &RHS) const
 
bool operator> (const DerivedT &RHS) const
 
bool operator<= (const DerivedT &RHS) const
 
bool operator>= (const DerivedT &RHS) const
 
PointerProxy operator-> () const
 
ReferenceProxy operator[] (std::iterator_traits< ItTy >::difference_type n) const
 

Additional Inherited Members

- Protected Types inherited from llvm::iterator_facade_base< DerivedT, std::iterator_traits< ItTy >::iterator_category, std::remove_reference_t< ReferenceTy >, std::iterator_traits< ItTy >::difference_type, std::remove_reference_t< ReferenceTy > *, ReferenceTy >
enum  
 
- Protected Member Functions inherited from llvm::iterator_adaptor_base< DerivedT, ItTy, std::iterator_traits< ItTy >::iterator_category, std::remove_reference_t< ReferenceTy >, std::iterator_traits< ItTy >::difference_type, std::remove_reference_t< ReferenceTy > *, ReferenceTy >
 iterator_adaptor_base ()=default
 
 iterator_adaptor_base (ItTy u)
 
const ItTywrapped () const
 
- Protected Attributes inherited from llvm::iterator_adaptor_base< DerivedT, ItTy, std::iterator_traits< ItTy >::iterator_category, std::remove_reference_t< ReferenceTy >, std::iterator_traits< ItTy >::difference_type, std::remove_reference_t< ReferenceTy > *, ReferenceTy >
ItTy I
 

Detailed Description

template<typename DerivedT, typename ItTy, typename ReferenceTy>
class llvm::mapped_iterator_base< DerivedT, ItTy, ReferenceTy >

A base type of mapped iterator, that is useful for building derived iterators that do not need/want to store the map function (as in mapped_iterator).

These iterators must simply provide a mapElement method that defines how to map a value of the iterator to the provided reference type.

Definition at line 337 of file STLExtras.h.

Member Typedef Documentation

◆ BaseT

template<typename DerivedT , typename ItTy , typename ReferenceTy >
using llvm::mapped_iterator_base< DerivedT, ItTy, ReferenceTy >::BaseT = mapped_iterator_base

Definition at line 345 of file STLExtras.h.

Constructor & Destructor Documentation

◆ mapped_iterator_base()

template<typename DerivedT , typename ItTy , typename ReferenceTy >
llvm::mapped_iterator_base< DerivedT, ItTy, ReferenceTy >::mapped_iterator_base ( ItTy  U)
inline

Definition at line 347 of file STLExtras.h.

Member Function Documentation

◆ getCurrent()

template<typename DerivedT , typename ItTy , typename ReferenceTy >
ItTy llvm::mapped_iterator_base< DerivedT, ItTy, ReferenceTy >::getCurrent ( )
inline

◆ operator*()

template<typename DerivedT , typename ItTy , typename ReferenceTy >
ReferenceTy llvm::mapped_iterator_base< DerivedT, ItTy, ReferenceTy >::operator* ( ) const
inline

Definition at line 352 of file STLExtras.h.


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