![]() |
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 |