![]() |
Value shared among several positions within a symmetric matrix.The SharedValue class template represents a single value of a symmetric matrix that is shared among several positions within the symmetric matrix. Changes to the value of one position are therefore applied to all positions sharing the same value. More...
#include <SharedValue.h>
Public Types | |
using | ValueType = Type |
Type of the shared value. | |
using | Reference = Type & |
Reference to the shared value. | |
using | ConstReference = const Type & |
Reference-to-const to the shared value. | |
using | Pointer = Type * |
Pointer to the shared value. | |
using | ConstPointer = const Type * |
Pointer-to-const to the shared value. | |
Public Member Functions | |
Constructors | |
SharedValue () | |
Default constructor for a SharedValue. | |
SharedValue (const Type &value) | |
Constructor for a SharedValue. More... | |
SharedValue (const SharedValue &)=default | |
SharedValue (SharedValue &&)=default | |
Destructor | |
~SharedValue ()=default | |
Assignment operators | |
SharedValue & | operator= (const SharedValue &)=default |
SharedValue & | operator= (SharedValue &&)=default |
Access operators | |
Reference | operator* () |
Direct access to the shared value. More... | |
ConstReference | operator* () const |
Direct access to the shared value. More... | |
Utility functions | |
Pointer | base () const noexcept |
Low-level access to the underlying, shared value. More... | |
Private Member Functions | |
Forbidden operations | |
void * | operator & () const |
Address operator (private & undefined) | |
Private Attributes | |
Member variables | |
std::shared_ptr< Type > | value_ |
The shared value. | |
Value shared among several positions within a symmetric matrix.
The SharedValue class template represents a single value of a symmetric matrix that is shared among several positions within the symmetric matrix. Changes to the value of one position are therefore applied to all positions sharing the same value.
|
inlineexplicit |
Constructor for a SharedValue.
value | The value to be shared. |
This constructor creates a shared value as a copy of the given value.
|
inlinenoexcept |
Low-level access to the underlying, shared value.
|
inline |
Direct access to the shared value.
|
inline |
Direct access to the shared value.