35 #ifndef _BLAZE_MATH_SPARSE_VECTORACCESSPROXY_H_
36 #define _BLAZE_MATH_SPARSE_VECTORACCESSPROXY_H_
99 template<
typename VT >
128 template<
typename T >
131 template<
typename T >
135 template<
typename T >
inline const VectorAccessProxy& operator+=(
const T& value )
const;
136 template<
typename T >
inline const VectorAccessProxy& operator-=(
const T& value )
const;
137 template<
typename T >
inline const VectorAccessProxy& operator*=(
const T& value )
const;
138 template<
typename T >
inline const VectorAccessProxy& operator/=(
const T& value )
const;
145 inline RawReference
get()
const noexcept;
153 inline operator RawReference() const noexcept;
169 void* operator&() const;
196 template< typename VT >
202 if( element == sv_.end() )
203 sv_.insert( i_, RepresentedType() );
213 template<
typename VT >
234 template<
typename VT >
238 if( element != sv_.end() &&
isDefault( element->value() ) )
239 sv_.erase( element );
258 template<
typename VT >
273 template<
typename VT >
274 template<
typename T >
290 template<
typename VT >
291 template<
typename T >
307 template<
typename VT >
308 template<
typename T >
323 template<
typename VT >
324 template<
typename T >
339 template<
typename VT >
340 template<
typename T >
355 template<
typename VT >
356 template<
typename T >
371 template<
typename VT >
372 template<
typename T >
394 template<
typename VT >
399 return element->value();
409 template<
typename VT >
430 template<
typename VT >
449 template<
typename VT >
452 template<
typename VT >
455 template<
typename VT >
458 template<
typename VT >
461 template<
typename VT >
464 template<
typename VT >
467 template<
typename VT >
470 template<
typename VT >
473 template<
typename VT,
typename T >
476 template<
typename T,
typename VT >
489 template<
typename VT >
506 template<
typename VT >
526 template<
typename VT >
548 template<
typename VT >
568 template<
typename VT >
588 template<
typename VT >
608 template<
typename VT >
626 template<
typename VT >
631 swap( a.get(), b.get() );
644 template<
typename VT,
typename T >
662 template<
typename T,
typename VT >
Header file for the isnan shim.
bool isOne(const DiagonalProxy< MT > &proxy)
Returns whether the represented element is 1.
Definition: DiagonalProxy.h:635
Header file for auxiliary alias declarations.
Header file for basic type definitions.
Proxy base class.The Proxy class is a base class for all proxy classes within the Blaze library that ...
Definition: Forward.h:51
bool isReal(const DiagonalProxy< MT > &proxy)
Returns whether the matrix element represents a real number.
Definition: DiagonalProxy.h:595
Access proxy for sparse, N-dimensional vectors.The VectorAccessProxy provides safe access to the elem...
Definition: VectorAccessProxy.h:100
void reset(const DiagonalProxy< MT > &proxy)
Resetting the represented element to the default initial values.
Definition: DiagonalProxy.h:533
VT & sv_
Reference to the accessed sparse vector.
Definition: VectorAccessProxy.h:161
VectorAccessProxy(VT &sv, size_t i)
Initialization constructor for a VectorAccessProxy.
Definition: VectorAccessProxy.h:197
size_t i_
Index of the accessed sparse vector element.
Definition: VectorAccessProxy.h:162
Header file for the Proxy class.
bool isDefault(const DiagonalProxy< MT > &proxy)
Returns whether the represented element is in default state.
Definition: DiagonalProxy.h:573
Header file for the std::initializer_list aliases.
Header file for the clear shim.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
void swap(CompressedMatrix< Type, SO > &a, CompressedMatrix< Type, SO > &b) noexcept
Swapping the contents of two compressed matrices.
Definition: CompressedMatrix.h:5148
ElementType_< VT > RepresentedType
Type of the represented sparse vector element.
Definition: VectorAccessProxy.h:104
bool isRestricted() const noexcept
Returns whether the proxy represents a restricted sparse vector element..
Definition: VectorAccessProxy.h:410
Header file for the isZero shim.
typename T::ElementType ElementType_
Alias declaration for nested ElementType type definitions.The ElementType_ alias declaration provides...
Definition: Aliases.h:163
RepresentedType & RawReference
Raw reference to the represented element.
Definition: VectorAccessProxy.h:105
const VectorAccessProxy & operator=(const VectorAccessProxy &vap) const
Copy assignment operator for VectorAccessProxy.
Definition: VectorAccessProxy.h:259
#define BLAZE_CONSTRAINT_MUST_BE_SPARSE_VECTOR_TYPE(T)
Constraint on the data type.In case the given data type T is not a sparse, N-dimensional vector type...
Definition: SparseVector.h:61
bool isnan(const DiagonalProxy< MT > &proxy)
Returns whether the represented element is not a number.
Definition: DiagonalProxy.h:655
Constraint on the data type.
void clear(const DiagonalProxy< MT > &proxy)
Clearing the represented element.
Definition: DiagonalProxy.h:553
Header file for the isOne shim.
Header file for run time assertion macros.
RawReference get() const noexcept
Returning the value of the accessed sparse vector element.
Definition: VectorAccessProxy.h:395
Header file for the reset shim.
Header file for the isDefault shim.
void swap(DiagonalMatrix< MT, SO, DF > &a, DiagonalMatrix< MT, SO, DF > &b) noexcept
Swapping the contents of two matrices.
Definition: DiagonalMatrix.h:258
typename T::Iterator Iterator_
Alias declaration for nested Iterator type definitions.The Iterator_ alias declaration provides a con...
Definition: Aliases.h:183
Initializer list type of the Blaze library.
~VectorAccessProxy()
The destructor for VectorAccessProxy.
Definition: VectorAccessProxy.h:235
bool isZero(const DiagonalProxy< MT > &proxy)
Returns whether the represented element is 0.
Definition: DiagonalProxy.h:615
Header file for the isReal shim.
#define BLAZE_INTERNAL_ASSERT(expr, msg)
Run time assertion macro for internal checks.In case of an invalid run time expression, the program execution is terminated. The BLAZE_INTERNAL_ASSERT macro can be disabled by setting the BLAZE_USER_ASSERTION flag to zero or by defining NDEBUG during the compilation.
Definition: Assert.h:101