My Project
|
#include <STLExtras.h>
Classes | |
class | iterator |
An iterator element of this range. More... | |
Public Types | |
using | RangeBaseT = indexed_accessor_range_base< DerivedT, BaseT, T, PointerT, ReferenceT > |
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[] (unsigned index) const |
size_t | size () const |
Return the size of this range. More... | |
bool | empty () const |
Return if the range is empty. More... | |
DerivedT | slice (size_t n, size_t m) const |
Drop the first N elements, and keep M elements. More... | |
DerivedT | drop_front (size_t n=1) const |
Drop the first n elements. More... | |
DerivedT | drop_back (size_t n=1) const |
Drop the last n elements. More... | |
DerivedT | take_front (size_t n=1) const |
Take the first n elements. More... | |
template<typename SVT , unsigned N> | |
operator SmallVector< SVT, N > () const | |
Protected Member Functions | |
indexed_accessor_range_base (const indexed_accessor_range_base &)=default | |
indexed_accessor_range_base (indexed_accessor_range_base &&)=default | |
indexed_accessor_range_base & | operator= (const indexed_accessor_range_base &)=default |
Protected Attributes | |
BaseT | base |
The base that owns the provided range of values. More... | |
ptrdiff_t | count |
The size from the owning range. More... | |
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:
using mlir::detail::indexed_accessor_range_base< DerivedT, BaseT, T, PointerT, ReferenceT >::RangeBaseT = indexed_accessor_range_base<DerivedT, BaseT, T, PointerT, ReferenceT> |
|
inline |
|
inline |
|
inline |
|
protecteddefault |
|
protecteddefault |
|
inline |
|
inline |
Drop the last n elements.
|
inline |
Drop the first n elements.
|
inline |
Return if the range is empty.
|
inline |
|
inline |
Allow conversion to SmallVector if necessary. TODO(riverriddle) Remove this when SmallVector accepts different range types in its constructor.
|
protecteddefault |
|
inline |
|
inline |
Return the size of this range.
|
inline |
Drop the first N elements, and keep M elements.
|
inline |
Take the first n elements.
|
protected |
The base that owns the provided range of values.
|
protected |
The size from the owning range.