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

The class represents the base of a range of indexed_accessor_iterators. More...

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

Public Member Functions
indexed_accessor_range_base (iterator begin, iterator end)
indexed_accessor_range_base (const iterator_range< iterator > &range)
indexed_accessor_range_base (BaseT base, ptrdiff_t count)
iterator begin () const
iterator end () const
ReferenceT operator[] (size_t Index) const
ReferenceT front () const
ReferenceT 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.
template<typename RangeT, typename = std::enable_if_t<std::is_constructible< RangeT, iterator_range>::value>>
operator RangeT () const
Allow conversion to any type accepting an iterator_range.
const BaseT & getBase () const
Returns the base of this range.
Protected Attributes
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::detail::indexed_accessor_range_base< DerivedT, BaseT, T, PointerT, ReferenceT >

The class represents the base of a range of indexed_accessor_iterators.

It provides support for many different range functionalities, e.g. drop_front/slice/etc.. Derived range classes must implement the following static methods:

Definition at line 1214 of file STLExtras.h.

RangeBaseT

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

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

indexed_accessor_range_base() [2/5]

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

indexed_accessor_range_base() [3/5]

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

indexed_accessor_range_base() [4/5]

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

indexed_accessor_range_base() [5/5]

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

back()

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

begin()

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

drop_back()

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

drop_front()

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

empty()

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

end()

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

front()

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 &>

operator RangeT()

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

template<typename RangeT, typename = std::enable_if_t<std::is_constructible< RangeT, iterator_range>::value>>

operator=()

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

operator[]()

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

size()

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

slice()

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

take_back()

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

take_front()

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

base

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

count

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


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