MLIR
21.0.0git
|
This class provides support for indexing into the element range of an ElementsAttr. More...
#include "mlir/IR/BuiltinAttributeInterfaces.h"
Public Member Functions | |
ElementsAttrIndexer () | |
ElementsAttrIndexer (ElementsAttrIndexer &&rhs) | |
ElementsAttrIndexer (const ElementsAttrIndexer &rhs) | |
~ElementsAttrIndexer () | |
template<typename T > | |
T | at (uint64_t index) const |
Access the element at the given index. More... | |
Static Public Member Functions | |
template<typename IteratorT > | |
static ElementsAttrIndexer | nonContiguous (bool isSplat, IteratorT &&iterator) |
Construct an indexer for a non-contiguous range starting at the given iterator. More... | |
template<typename T > | |
static ElementsAttrIndexer | contiguous (bool isSplat, const T *firstEltPtr) |
This class provides support for indexing into the element range of an ElementsAttr.
It is used to opaquely wrap either a contiguous range, via ElementsAttrIndexer::contiguous
, or a non-contiguous range, via ElementsAttrIndexer::nonContiguous
, A contiguous range is an array-like range, where all of the elements are layed out sequentially in memory. A non-contiguous range implies no contiguity, and elements may even be materialized when indexing, such as the case for a mapped_range.
Definition at line 33 of file BuiltinAttributeInterfaces.h.
|
inline |
Definition at line 35 of file BuiltinAttributeInterfaces.h.
|
inline |
Definition at line 37 of file BuiltinAttributeInterfaces.h.
References conState, and nonConState.
|
inline |
Definition at line 44 of file BuiltinAttributeInterfaces.h.
References conState, and nonConState.
|
inline |
Definition at line 51 of file BuiltinAttributeInterfaces.h.
References nonConState.
|
inline |
Access the element at the given index.
Definition at line 79 of file BuiltinAttributeInterfaces.h.
References conState, and nonConState.
Referenced by mlir::detail::ElementsAttrIterator< T >::operator*().
|
inlinestatic |
Definition at line 71 of file BuiltinAttributeInterfaces.h.
References conState.
|
inlinestatic |
Construct an indexer for a non-contiguous range starting at the given iterator.
A non-contiguous range implies no contiguity, and elements may even be materialized when indexing, such as the case for a mapped_range.
Definition at line 60 of file BuiltinAttributeInterfaces.h.
References nonConState.
ContiguousState mlir::detail::ElementsAttrIndexer::conState |
Definition at line 191 of file BuiltinAttributeInterfaces.h.
Referenced by at(), contiguous(), and ElementsAttrIndexer().
NonContiguousState mlir::detail::ElementsAttrIndexer::nonConState |
Definition at line 192 of file BuiltinAttributeInterfaces.h.
Referenced by at(), ElementsAttrIndexer(), nonContiguous(), and ~ElementsAttrIndexer().