iterative-solver 0.0
 
Loading...
Searching...
No Matches
molpro::linalg::array::util::ValueProxy< Array > Class Template Reference

#include <DistrArray.h>

Detailed Description

template<typename Array>
class molpro::linalg::array::util::ValueProxy< Array >

Proxy class for APIs that may be used to get or set a single value on the associated array. Depending on whether it is used as a getter or a setter, this wrapper will delegate to the get() and set() functions of the array accordingly. This class is designed to only ever appear as a temporary value that gets immediately converted to the value type or to get destroyed after having written to the value. It is not possible to store instances of this type.

Public Member Functions

 ValueProxy (const ValueProxy &)=delete
 
 ValueProxy (ValueProxy &&)=delete
 
ValueProxy & operator= (const ValueProxy &other)
 
ValueProxy & operator= (ValueProxy &&other)
 
template<typename OtherArray >
ValueProxy & operator= (const ValueProxy< OtherArray > &other)
 
ValueProxy & operator= (Array::value_type val)
 
 operator typename Array::value_type () const
 

Constructor & Destructor Documentation

◆ ValueProxy() [1/2]

template<typename Array >
molpro::linalg::array::util::ValueProxy< Array >::ValueProxy ( const ValueProxy< Array > &  )
delete

◆ ValueProxy() [2/2]

template<typename Array >
molpro::linalg::array::util::ValueProxy< Array >::ValueProxy ( ValueProxy< Array > &&  )
delete

Member Function Documentation

◆ operator typename Array::value_type()

template<typename Array >
molpro::linalg::array::util::ValueProxy< Array >::operator typename Array::value_type ( ) const
inline

◆ operator=() [1/4]

template<typename Array >
ValueProxy & molpro::linalg::array::util::ValueProxy< Array >::operator= ( Array::value_type  val)
inline

◆ operator=() [2/4]

template<typename Array >
ValueProxy & molpro::linalg::array::util::ValueProxy< Array >::operator= ( const ValueProxy< Array > &  other)
inline

◆ operator=() [3/4]

template<typename Array >
template<typename OtherArray >
ValueProxy & molpro::linalg::array::util::ValueProxy< Array >::operator= ( const ValueProxy< OtherArray > &  other)
inline

◆ operator=() [4/4]

template<typename Array >
ValueProxy & molpro::linalg::array::util::ValueProxy< Array >::operator= ( ValueProxy< Array > &&  other)
inline