Low-Level Abstraction of Memory Access
llama::mapping::internal::ProjectionReference< Reference, Projection > Struct Template Reference

#include <Projection.hpp>

+ Inheritance diagram for llama::mapping::internal::ProjectionReference< Reference, Projection >:
+ Collaboration diagram for llama::mapping::internal::ProjectionReference< Reference, Projection >:

Public Types

using value_type = decltype(Projection::load(std::declval< Reference >()))
 

Public Member Functions

constexpr ProjectionReference (Reference storageRef)
 
 ProjectionReference (const ProjectionReference &)=default
 
constexpr auto operator= (const ProjectionReference &other) -> ProjectionReference &
 
constexpr operator value_type () const
 
constexpr auto operator= (value_type v) -> ProjectionReference &
 
- Public Member Functions inherited from llama::ProxyRefOpMixin< ProjectionReference< Reference, Projection >, decltype(Projection::load(std::declval< Reference >()))>
constexpr auto operator+= (const decltype(Projection::load(std::declval< Reference >())) &rhs) -> ProjectionReference< Reference, Projection > &
 
constexpr auto operator-= (const decltype(Projection::load(std::declval< Reference >())) &rhs) -> ProjectionReference< Reference, Projection > &
 
constexpr auto operator*= (const decltype(Projection::load(std::declval< Reference >())) &rhs) -> ProjectionReference< Reference, Projection > &
 
constexpr auto operator/= (const decltype(Projection::load(std::declval< Reference >())) &rhs) -> ProjectionReference< Reference, Projection > &
 
constexpr auto operator%= (const decltype(Projection::load(std::declval< Reference >())) &rhs) -> ProjectionReference< Reference, Projection > &
 
constexpr auto operator<<= (const decltype(Projection::load(std::declval< Reference >())) &rhs) -> ProjectionReference< Reference, Projection > &
 
constexpr auto operator>>= (const decltype(Projection::load(std::declval< Reference >())) &rhs) -> ProjectionReference< Reference, Projection > &
 
constexpr auto operator&= (const decltype(Projection::load(std::declval< Reference >())) &rhs) -> ProjectionReference< Reference, Projection > &
 
constexpr auto operator|= (const decltype(Projection::load(std::declval< Reference >())) &rhs) -> ProjectionReference< Reference, Projection > &
 
constexpr auto operator^= (const decltype(Projection::load(std::declval< Reference >())) &rhs) -> ProjectionReference< Reference, Projection > &
 
constexpr auto operator++ () -> ProjectionReference< Reference, Projection > &
 
constexpr auto operator++ (int) -> decltype(Projection::load(std::declval< Reference >()))
 
constexpr auto operator-- () -> ProjectionReference< Reference, Projection > &
 
constexpr auto operator-- (int) -> decltype(Projection::load(std::declval< Reference >()))
 

Detailed Description

template<typename Reference, typename Projection>
struct llama::mapping::internal::ProjectionReference< Reference, Projection >

Definition at line 73 of file Projection.hpp.

Member Typedef Documentation

◆ value_type

template<typename Reference , typename Projection >
using llama::mapping::internal::ProjectionReference< Reference, Projection >::value_type = decltype(Projection::load(std::declval<Reference>()))

Definition at line 82 of file Projection.hpp.

Constructor & Destructor Documentation

◆ ProjectionReference() [1/2]

template<typename Reference , typename Projection >
constexpr llama::mapping::internal::ProjectionReference< Reference, Projection >::ProjectionReference ( Reference  storageRef)
inlineexplicitconstexpr

Definition at line 84 of file Projection.hpp.

◆ ProjectionReference() [2/2]

template<typename Reference , typename Projection >
llama::mapping::internal::ProjectionReference< Reference, Projection >::ProjectionReference ( const ProjectionReference< Reference, Projection > &  )
default

Member Function Documentation

◆ operator value_type()

template<typename Reference , typename Projection >
constexpr llama::mapping::internal::ProjectionReference< Reference, Projection >::operator value_type ( ) const
inlineconstexpr

Definition at line 99 of file Projection.hpp.

◆ operator=() [1/2]

template<typename Reference , typename Projection >
constexpr auto llama::mapping::internal::ProjectionReference< Reference, Projection >::operator= ( const ProjectionReference< Reference, Projection > &  other) -> ProjectionReference&
inlineconstexpr

Definition at line 92 of file Projection.hpp.

◆ operator=() [2/2]

template<typename Reference , typename Projection >
constexpr auto llama::mapping::internal::ProjectionReference< Reference, Projection >::operator= ( value_type  v) -> ProjectionReference&
inlineconstexpr

Definition at line 106 of file Projection.hpp.


The documentation for this struct was generated from the following file: