![]() |
Low-Level Abstraction of Memory Access
|
#include <View.hpp>
Public Types | |
| using | StoredParentView = TStoredParentView |
| using | ParentView = std::remove_const_t< std::remove_reference_t< StoredParentView > > |
| type of the parent view More... | |
| using | Mapping = typename ParentView::Mapping |
| using | ArrayExtents = typename ParentView::ArrayExtents |
| using | ArrayIndex = typename ParentView::ArrayIndex |
| using | BlobType = typename ParentView::BlobType |
| using | RecordDim = typename ParentView::RecordDim |
| using | Accessor = typename ParentView::Accessor |
| using | iterator = typename ParentView::iterator |
| using | const_iterator = typename ParentView::const_iterator |
Public Member Functions | |
| SubView (ArrayIndex offset) | |
| Creates a SubView given an offset. The parent view is default constructed. More... | |
| template<typename StoredParentViewFwd > | |
| SubView (StoredParentViewFwd &&parentView, ArrayIndex offset) | |
| Creates a SubView given a parent View and offset. More... | |
| auto | mapping () -> Mapping & |
| auto | mapping () const -> const Mapping & |
| auto | accessor () -> Accessor & |
| auto | accessor () const -> const Accessor & |
| auto | extents () const -> ArrayExtents |
| auto | operator() (ArrayIndex ai) const -> decltype(auto) |
| Same as View::operator()(ArrayIndex), but shifted by the offset of this SubView. More... | |
| auto | operator() (ArrayIndex ai) -> decltype(auto) |
| template<typename... Indices> | |
| auto | operator() (Indices... indices) const -> decltype(auto) |
| Same as corresponding operator in View, but shifted by the offset of this SubView. More... | |
| template<typename... Indices> | |
| auto | operator() (Indices... indices) -> decltype(auto) |
| template<std::size_t... Coords> | |
| auto | operator() (RecordCoord< Coords... > rc={}) const -> decltype(auto) |
| template<std::size_t... Coords> | |
| auto | operator() (RecordCoord< Coords... > rc={}) -> decltype(auto) |
| auto | blobs () -> Array< BlobType, Mapping::blobCount > & |
| auto | blobs () const -> const Array< BlobType, Mapping::blobCount > & |
Public Attributes | |
| StoredParentView | parentView |
| const ArrayIndex | offset |
Like a View, but array indices are shifted.
| TStoredParentView | Type of the underlying view. May be cv qualified and/or a reference type. |
| using llama::SubView< TStoredParentView >::Accessor = typename ParentView::Accessor |
| using llama::SubView< TStoredParentView >::ArrayExtents = typename ParentView::ArrayExtents |
| using llama::SubView< TStoredParentView >::ArrayIndex = typename ParentView::ArrayIndex |
| using llama::SubView< TStoredParentView >::BlobType = typename ParentView::BlobType |
| using llama::SubView< TStoredParentView >::const_iterator = typename ParentView::const_iterator |
| using llama::SubView< TStoredParentView >::iterator = typename ParentView::iterator |
| using llama::SubView< TStoredParentView >::Mapping = typename ParentView::Mapping |
| using llama::SubView< TStoredParentView >::ParentView = std::remove_const_t<std::remove_reference_t<StoredParentView> > |
| using llama::SubView< TStoredParentView >::RecordDim = typename ParentView::RecordDim |
| using llama::SubView< TStoredParentView >::StoredParentView = TStoredParentView |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Same as View::operator()(ArrayIndex), but shifted by the offset of this SubView.
|
inline |
|
inline |
|
inline |
|
inline |
| const ArrayIndex llama::SubView< TStoredParentView >::offset |
offset by which this view's ArrayIndex indices are shifted when passed to the parent view.
| StoredParentView llama::SubView< TStoredParentView >::parentView |