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:
- ReferenceT dereference(const BaseT &base, ptrdiff_t index)
- Dereference an iterator pointing to a parent base at the given index.
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:
- include/llvm/ADT/STLExtras.h