Low-Level Abstraction of Memory Access
llama::accessor::Locked< Mutex >::Reference< Ref, Value > Struct Template Reference

#include <Accessors.hpp>

+ Inheritance diagram for llama::accessor::Locked< Mutex >::Reference< Ref, Value >:
+ Collaboration diagram for llama::accessor::Locked< Mutex >::Reference< Ref, Value >:

Public Types

using value_type = Value
 

Public Member Functions

constexpr auto operator= (const Reference &other) -> Reference &
 
 operator value_type () const
 
template<typename T >
auto operator= (T t) -> Reference &
 
- Public Member Functions inherited from llama::ProxyRefOpMixin< Reference< Ref, Value >, Value >
constexpr auto operator+= (const Value &rhs) -> Reference< Ref, Value > &
 
constexpr auto operator-= (const Value &rhs) -> Reference< Ref, Value > &
 
constexpr auto operator*= (const Value &rhs) -> Reference< Ref, Value > &
 
constexpr auto operator/= (const Value &rhs) -> Reference< Ref, Value > &
 
constexpr auto operator%= (const Value &rhs) -> Reference< Ref, Value > &
 
constexpr auto operator<<= (const Value &rhs) -> Reference< Ref, Value > &
 
constexpr auto operator>>= (const Value &rhs) -> Reference< Ref, Value > &
 
constexpr auto operator&= (const Value &rhs) -> Reference< Ref, Value > &
 
constexpr auto operator|= (const Value &rhs) -> Reference< Ref, Value > &
 
constexpr auto operator^= (const Value &rhs) -> Reference< Ref, Value > &
 
constexpr auto operator++ () -> Reference< Ref, Value > &
 
constexpr auto operator++ (int) -> Value
 
constexpr auto operator-- () -> Reference< Ref, Value > &
 
constexpr auto operator-- (int) -> Value
 

Public Attributes

Ref ref
 
Mutex & m
 

Detailed Description

template<typename Mutex = std::mutex>
template<typename Ref, typename Value>
struct llama::accessor::Locked< Mutex >::Reference< Ref, Value >

Definition at line 132 of file Accessors.hpp.

Member Typedef Documentation

◆ value_type

template<typename Mutex = std::mutex>
template<typename Ref , typename Value >
using llama::accessor::Locked< Mutex >::Reference< Ref, Value >::value_type = Value

Definition at line 137 of file Accessors.hpp.

Member Function Documentation

◆ operator value_type()

template<typename Mutex = std::mutex>
template<typename Ref , typename Value >
llama::accessor::Locked< Mutex >::Reference< Ref, Value >::operator value_type ( ) const
inline

Definition at line 148 of file Accessors.hpp.

◆ operator=() [1/2]

template<typename Mutex = std::mutex>
template<typename Ref , typename Value >
constexpr auto llama::accessor::Locked< Mutex >::Reference< Ref, Value >::operator= ( const Reference< Ref, Value > &  other) -> Reference&
inlineconstexpr

Definition at line 140 of file Accessors.hpp.

◆ operator=() [2/2]

template<typename Mutex = std::mutex>
template<typename Ref , typename Value >
template<typename T >
auto llama::accessor::Locked< Mutex >::Reference< Ref, Value >::operator= ( t) -> Reference&
inline

Definition at line 155 of file Accessors.hpp.

Member Data Documentation

◆ m

template<typename Mutex = std::mutex>
template<typename Ref , typename Value >
Mutex& llama::accessor::Locked< Mutex >::Reference< Ref, Value >::m

Definition at line 135 of file Accessors.hpp.

◆ ref

template<typename Mutex = std::mutex>
template<typename Ref , typename Value >
Ref llama::accessor::Locked< Mutex >::Reference< Ref, Value >::ref

Definition at line 134 of file Accessors.hpp.


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