35 #ifndef _BLAZE_MATH_SPARSE_VALUEINDEXPAIR_H_ 36 #define _BLAZE_MATH_SPARSE_VALUEINDEXPAIR_H_ 72 template<
typename Type >
108 template<
typename Other >
109 inline constexpr
auto operator=(
const Other& rhs )
112 template<
typename Other >
113 inline constexpr
auto operator=( Other&& rhs )
117 template<
typename Other >
118 inline constexpr
auto operator=(
const Other& v )
121 template<
typename Other >
122 inline constexpr
auto operator=( Other&& v )
126 template<
typename Other >
inline constexpr
ValueIndexPair& operator+=(
const Other& v );
127 template<
typename Other >
inline constexpr
ValueIndexPair& operator-=(
const Other& v );
128 template<
typename Other >
inline constexpr
ValueIndexPair& operator*=(
const Other& v );
129 template<
typename Other >
inline constexpr
ValueIndexPair& operator/=(
const Other& v );
181 template< typename Type >
195 template<
typename Type >
221 template<
typename Type >
222 template<
typename Other >
226 value_ = rhs.
value();
227 index_ = rhs.index();
243 template<
typename Type >
244 template<
typename Other >
249 value_ = std::move( rhs.value() );
250 index_ = rhs.
index();
262 template<
typename Type >
263 template<
typename Other >
279 template<
typename Type >
280 template<
typename Other >
281 inline constexpr
auto ValueIndexPair<Type>::operator=( Other&& v )
282 -> EnableIf_t< !IsSparseElement_v< RemoveReference_t<Other> > &&
283 IsRValueReference_v<Other&&>, ValueIndexPair& >
285 value_ = std::move( v );
297 template<
typename Type >
298 template<
typename Other >
313 template<
typename Type >
314 template<
typename Other >
329 template<
typename Type >
330 template<
typename Other >
345 template<
typename Type >
346 template<
typename Other >
368 template<
typename Type >
382 template<
typename Type >
396 template<
typename Type >
#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
Header file for basic type definitions.
Header file for the And_t alias template.
#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
Constraint on the data type.
typename EnableIf< Condition, T >::Type EnableIf_t
Auxiliary type for the EnableIf class template.The EnableIf_t alias declaration provides a convenient...
Definition: EnableIf.h:138
const Type & ConstReference
Reference-to-const return type.
Definition: ValueIndexPair.h:81
constexpr IndexType index() const noexcept
Access to the current index of the value-index-pair.
Definition: ValueIndexPair.h:398
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
Type ValueType
The value type of the value-index-pair.
Definition: ValueIndexPair.h:78
Constraint on the data type.
Header file for the SparseElement base class.
size_t index_
Index of the value-index-pair.
Definition: ValueIndexPair.h:147
Header file for the EnableIf class template.
Header file for the Not_t alias template.
Type & Reference
Reference return type.
Definition: ValueIndexPair.h:80
Header file for the IsRValueReference type trait.
Constraint on the data type.
#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
constexpr ValueIndexPair()
Default constructor for value-index-pairs.
Definition: ValueIndexPair.h:182
constexpr Reference value() noexcept
Access to the current value of the value-index-pair.
Definition: ValueIndexPair.h:370
Constraint on the data type.
Base class for all sparse element types.The SparseElement class is the base class for all sparse elem...
Definition: SparseElement.h:57
Header file for the RemoveReference type trait.
Header file for the IsSparseElement type trait class.
Index-value-pair for sparse vectors and matrices.The ValueIndexPair class represents a single index-v...
Definition: ValueIndexPair.h:73
Type value_
Value of the value-index-pair.
Definition: ValueIndexPair.h:146
Size type of the Blaze library.