35 #ifndef _BLAZE_MATH_ADAPTORS_SYMMETRICMATRIX_SHAREDVALUE_H_ 36 #define _BLAZE_MATH_ADAPTORS_SYMMETRICMATRIX_SHAREDVALUE_H_ 66 template<
typename Type >
130 void* operator&() const;
157 template< typename Type >
171 template<
typename Type >
173 :
value_( new Type( value ) )
191 template<
typename Type >
195 value_.reset(
new Type() );
206 template<
typename Type >
210 value_.reset(
new Type() );
229 template<
typename Type >
248 template<
typename T1,
typename T2 >
251 template<
typename T1,
typename T2 >
265 template<
typename T1,
typename T2 >
268 return ( lhs.
base() == rhs.
base() );
281 template<
typename T1,
typename T2 >
284 return ( lhs.
base() != rhs.
base() );
300 template<
bool RF,
typename Type >
301 bool isDefault(
const SharedValue<Type>& value );
303 template<
bool RF,
typename T1,
typename T2 >
304 bool equal(
const SharedValue<T1>& lhs,
const SharedValue<T2>& rhs );
319 template<
bool RF,
typename Type >
324 return isDefault<RF>( *value );
341 template<
bool RF,
typename T1,
typename T2 >
344 return equal<RF>( *a, *b );
#define BLAZE_CONSTRAINT_MUST_NOT_BE_CONST(T)
Constraint on the data type.In case the given data type is a const-qualified type,...
Definition: Const.h:79
#define BLAZE_CONSTRAINT_MUST_NOT_BE_VOLATILE(T)
Constraint on the data type.In case the given data type is a volatile-qualified type,...
Definition: Volatile.h:79
const Type & ConstReference
Reference-to-const to the shared value.
Definition: SharedValue.h:73
Constraint on the data type.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
#define BLAZE_CONSTRAINT_MUST_NOT_BE_POINTER_TYPE(T)
Constraint on the data type.In case the given data type T is not a pointer type, a compilation error ...
Definition: Pointer.h:79
Reference operator *()
Direct access to the shared value.
Definition: SharedValue.h:192
constexpr bool operator==(const NegativeAccuracy< A > &lhs, const T &rhs)
Equality comparison between a NegativeAccuracy object and a floating point value.
Definition: Accuracy.h:253
Constraint on the data type.
SharedValue()
Default constructor for a SharedValue.
Definition: SharedValue.h:158
Type & Reference
Reference to the shared value.
Definition: SharedValue.h:72
const Type * ConstPointer
Pointer-to-const to the shared value.
Definition: SharedValue.h:75
Type * Pointer
Pointer to the shared value.
Definition: SharedValue.h:74
constexpr bool operator!=(const NegativeAccuracy< A > &lhs, const T &rhs)
Inequality comparison between a NegativeAccuracy object and a floating point value.
Definition: Accuracy.h:293
Type ValueType
Type of the shared value.
Definition: SharedValue.h:71
Constraint on the data type.
Pointer base() const noexcept
Low-level access to the underlying, shared value.
Definition: SharedValue.h:230
#define BLAZE_CONSTRAINT_MUST_NOT_BE_REFERENCE_TYPE(T)
Constraint on the data type.In case the given data type T is not a reference type,...
Definition: Reference.h:79
Constraint on the data type.
std::shared_ptr< Type > value_
The shared value.
Definition: SharedValue.h:123
Value shared among several positions within a symmetric matrix.The SharedValue class template represe...
Definition: SharedValue.h:67
bool isDefault(const DiagonalProxy< MT > &proxy)
Returns whether the represented element is in default state.
Definition: DiagonalProxy.h:635
bool equal(const SharedValue< T1 > &lhs, const SharedValue< T2 > &rhs)
Equality check for a two shared values.
Definition: SharedValue.h:342