LLVM: llvm::indexed_accessor_range< DerivedT, BaseT, T, PointerT, ReferenceT (original) (raw)

This class provides an implementation of a range of indexed_accessor_iterators where the base is not indexable. More...

#include "[llvm/ADT/STLExtras.h](STLExtras%5F8h%5Fsource.html)"

Public Member Functions
indexed_accessor_range (BaseT base, ptrdiff_t startIndex, ptrdiff_t count)
const BaseT & getBase () const
Returns the current base of the range.
ptrdiff_t getStartIndex () const
Returns the current start index of the range.
Public Member Functions inherited from llvm::detail::indexed_accessor_range_base< DerivedT, std::pair< BaseT, ptrdiff_t >, T, T *, T & >
indexed_accessor_range_base (iterator begin, iterator end)
iterator begin () const
iterator end () const
T & operator[] (size_t Index) const
T & front () const
T & back () const
size_t size () const
Return the size of this range.
bool empty () const
Return if the range is empty.
DerivedT slice (size_t n, size_t m) const
Drop the first N elements, and keep M elements.
DerivedT drop_front (size_t n=1) const
Drop the first n elements.
DerivedT drop_back (size_t n=1) const
Drop the last n elements.
DerivedT take_front (size_t n=1) const
Take the first n elements.
DerivedT take_back (size_t n=1) const
Take the last n elements.
operator RangeT () const
Allow conversion to any type accepting an iterator_range.
const BaseT & getBase () const
Returns the base of this range.
Additional Inherited Members
Public Types inherited from llvm::detail::indexed_accessor_range_base< DerivedT, std::pair< BaseT, ptrdiff_t >, T, T *, T & >
using RangeBaseT
Protected Member Functions inherited from llvm::detail::indexed_accessor_range_base< DerivedT, std::pair< BaseT, ptrdiff_t >, T, T *, T & >
indexed_accessor_range_base & operator= (const indexed_accessor_range_base &)=default
Protected Attributes inherited from llvm::detail::indexed_accessor_range_base< DerivedT, std::pair< BaseT, ptrdiff_t >, T, T *, T & >
BaseT base
The base that owns the provided range of values.
ptrdiff_t count
The size from the owning range.

template<typename DerivedT, typename BaseT, typename T, typename PointerT = T *, typename ReferenceT = T &>
class llvm::indexed_accessor_range< DerivedT, BaseT, T, PointerT, ReferenceT >

This class provides an implementation of a range of indexed_accessor_iterators where the base is not indexable.

Ranges with bases that are offsetable should derive from indexed_accessor_range_base instead. Derived range classes are expected to implement the following static method:

Definition at line 1349 of file STLExtras.h.

template<typename DerivedT, typename BaseT, typename T, typename PointerT = T *, typename ReferenceT = T &>

Definition at line 1353 of file STLExtras.h.

References llvm::detail::indexed_accessor_range_base< DerivedT, std::pair< BaseT, ptrdiff_t >, T, T *, T & >::base, llvm::detail::indexed_accessor_range_base< DerivedT, std::pair< BaseT, ptrdiff_t >, T, T *, T & >::count, llvm::detail::indexed_accessor_range_base< DerivedT, std::pair< BaseT, ptrdiff_t >, T, T *, T & >::indexed_accessor_range_base(), and T.

dereference_iterator()

template<typename DerivedT, typename BaseT, typename T, typename PointerT = T *, typename ReferenceT = T &>

getBase()

template<typename DerivedT, typename BaseT, typename T, typename PointerT = T *, typename ReferenceT = T &>

getStartIndex()

template<typename DerivedT, typename BaseT, typename T, typename PointerT = T *, typename ReferenceT = T &>

offset_base()

template<typename DerivedT, typename BaseT, typename T, typename PointerT = T *, typename ReferenceT = T &>


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