iterative-solver 0.0
molpro::linalg::itsolv::ArrayHandlers< R, Q, P >::Builder::Proxy< T, S > Class Template Reference

#include <ArrayHandlers.h>

Collaboration diagram for molpro::linalg::itsolv::ArrayHandlers< R, Q, P >::Builder::Proxy< T, S >:

Public Member Functions

 Proxy ()=default
 
 Proxy (Builder *b)
 
Builderoperator() (const std::shared_ptr< array::ArrayHandler< T, S > > &h)
 assigns a handler to the proxy More...
 
std::shared_ptr< array::ArrayHandler< T, S > > handler () const
 

Protected Attributes

Builderbuilder = nullptr
 
std::shared_ptr< array::ArrayHandler< T, S > > m_handler
 

Constructor & Destructor Documentation

◆ Proxy() [1/2]

template<typename R , typename Q = R, typename P = std::map<size_t, typename R::value_type>>
template<class T , class S >
molpro::linalg::itsolv::ArrayHandlers< R, Q, P >::Builder::Proxy< T, S >::Proxy ( )
default

◆ Proxy() [2/2]

template<typename R , typename Q = R, typename P = std::map<size_t, typename R::value_type>>
template<class T , class S >
molpro::linalg::itsolv::ArrayHandlers< R, Q, P >::Builder::Proxy< T, S >::Proxy ( Builder b)
inlineexplicit

Member Function Documentation

◆ handler()

template<typename R , typename Q = R, typename P = std::map<size_t, typename R::value_type>>
template<class T , class S >
std::shared_ptr< array::ArrayHandler< T, S > > molpro::linalg::itsolv::ArrayHandlers< R, Q, P >::Builder::Proxy< T, S >::handler ( ) const
inline
Returns
a stored or a default handler

◆ operator()()

template<typename R , typename Q = R, typename P = std::map<size_t, typename R::value_type>>
template<class T , class S >
Builder & molpro::linalg::itsolv::ArrayHandlers< R, Q, P >::Builder::Proxy< T, S >::operator() ( const std::shared_ptr< array::ArrayHandler< T, S > > &  h)
inline

assigns a handler to the proxy

Member Data Documentation

◆ builder

template<typename R , typename Q = R, typename P = std::map<size_t, typename R::value_type>>
template<class T , class S >
Builder* molpro::linalg::itsolv::ArrayHandlers< R, Q, P >::Builder::Proxy< T, S >::builder = nullptr
protected

◆ m_handler

template<typename R , typename Q = R, typename P = std::map<size_t, typename R::value_type>>
template<class T , class S >
std::shared_ptr<array::ArrayHandler<T, S> > molpro::linalg::itsolv::ArrayHandlers< R, Q, P >::Builder::Proxy< T, S >::m_handler
protected