35 #ifndef _BLAZE_MATH_SPARSE_VECTORACCESSPROXY_H_ 36 #define _BLAZE_MATH_SPARSE_VECTORACCESSPROXY_H_ 100 template<
typename VT >
102 :
public Proxy< VectorAccessProxy<VT>, ElementType_<VT> >
130 template<
typename T >
133 template<
typename T >
137 template<
typename T >
inline const VectorAccessProxy& operator+=(
const T& value )
const;
138 template<
typename T >
inline const VectorAccessProxy& operator-=(
const T& value )
const;
139 template<
typename T >
inline const VectorAccessProxy& operator*=(
const T& value )
const;
140 template<
typename T >
inline const VectorAccessProxy& operator/=(
const T& value )
const;
141 template<
typename T >
inline const VectorAccessProxy& operator%=(
const T& value )
const;
172 void* operator&() const;
199 template< typename VT >
205 if( element == sv_.end() )
216 template<
typename VT >
237 template<
typename VT >
241 if( element !=
sv_.end() && isDefault<strict>( element->value() ) )
242 sv_.erase( element );
261 template<
typename VT >
276 template<
typename VT >
277 template<
typename T >
293 template<
typename VT >
294 template<
typename T >
310 template<
typename VT >
311 template<
typename T >
326 template<
typename VT >
327 template<
typename T >
342 template<
typename VT >
343 template<
typename T >
358 template<
typename VT >
359 template<
typename T >
374 template<
typename VT >
375 template<
typename T >
394 template<
typename VT >
395 template<
typename T >
417 template<
typename VT >
422 return element->value();
432 template<
typename VT >
453 template<
typename VT >
472 template<
typename VT >
475 template<
typename VT >
478 template<
bool RF,
typename VT >
481 template<
bool RF,
typename VT >
484 template<
bool RF,
typename VT >
487 template<
bool RF,
typename VT >
490 template<
typename VT >
493 template<
typename VT >
496 template<
typename VT,
typename T >
499 template<
typename T,
typename VT >
512 template<
typename VT >
529 template<
typename VT >
549 template<
bool RF,
typename VT >
554 return isDefault<RF>( proxy.
get() );
571 template<
bool RF,
typename VT >
576 return isReal<RF>( proxy.
get() );
591 template<
bool RF,
typename VT >
596 return isZero<RF>( proxy.
get() );
611 template<
bool RF,
typename VT >
616 return isOne<RF>( proxy.
get() );
631 template<
typename VT >
649 template<
typename VT >
654 swap( a.get(), b.get() );
667 template<
typename VT,
typename T >
685 template<
typename T,
typename VT >
bool isReal(const DiagonalProxy< MT > &proxy)
Returns whether the matrix element represents a real number.
Definition: DiagonalProxy.h:650
Header file for the isnan shim.
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
Access proxy for sparse, N-dimensional vectors.The VectorAccessProxy provides safe access to the elem...
Definition: VectorAccessProxy.h:101
void reset(const DiagonalProxy< MT > &proxy)
Resetting the represented element to the default initial values.
Definition: DiagonalProxy.h:588
VT & sv_
Reference to the accessed sparse vector.
Definition: VectorAccessProxy.h:164
VectorAccessProxy(VT &sv, size_t i)
Initialization constructor for a VectorAccessProxy.
Definition: VectorAccessProxy.h:200
size_t i_
Index of the accessed sparse vector element.
Definition: VectorAccessProxy.h:165
Header file for the extended initializer_list functionality.
Header file for the Proxy class.
bool isZero(const DiagonalProxy< MT > &proxy)
Returns whether the represented element is 0.
Definition: DiagonalProxy.h:670
Header file for the clear shim.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
void swap(CompressedMatrix< Type, SO > &a, CompressedMatrix< Type, SO > &b) noexcept
Swapping the contents of two compressed matrices.
Definition: CompressedMatrix.h:5908
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
#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:710
Constraint on the data type.
const VectorAccessProxy & operator=(const VectorAccessProxy &vap) const
Copy assignment operator for VectorAccessProxy.
Definition: VectorAccessProxy.h:262
void clear(const DiagonalProxy< MT > &proxy)
Clearing the represented element.
Definition: DiagonalProxy.h:608
Header file for the isOne shim.
Header file for run time assertion macros.
Header file for the relaxation flag types.
Header file for the reset shim.
bool isOne(const DiagonalProxy< MT > &proxy)
Returns whether the represented element is 1.
Definition: DiagonalProxy.h:690
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:272
typename T::Iterator Iterator_
Alias declaration for nested Iterator type definitions.The Iterator_ alias declaration provides a con...
Definition: Aliases.h:183
ElementType_< VT > RepresentedType
Type of the represented sparse vector element.
Definition: VectorAccessProxy.h:106
Initializer list type of the Blaze library.
RawReference get() const noexcept
Returning the value of the accessed sparse vector element.
Definition: VectorAccessProxy.h:418
~VectorAccessProxy()
The destructor for VectorAccessProxy.
Definition: VectorAccessProxy.h:238
bool isRestricted() const noexcept
Returns whether the proxy represents a restricted sparse vector element..
Definition: VectorAccessProxy.h:433
bool isDefault(const DiagonalProxy< MT > &proxy)
Returns whether the represented element is in default state.
Definition: DiagonalProxy.h:628
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
RepresentedType & RawReference
Raw reference to the represented element.
Definition: VectorAccessProxy.h:107