MADNESS  0.10.1
Public Member Functions | Private Attributes | List of all members
madness::detail::ArgHolder< Arg > Class Template Reference

A wrapper object for holding task function argument objects. More...

#include <taskfn.h>

Inheritance diagram for madness::detail::ArgHolder< Arg >:
Inheritance graph
[legend]
Collaboration diagram for madness::detail::ArgHolder< Arg >:
Collaboration graph
[legend]

Public Member Functions

template<typename Arg_ = Arg, typename = std::enable_if_t< !std::is_same<std::decay_t<Arg_>, archive::BufferInputArchive>::value >>
 ArgHolder (Arg_ &&arg)
 
 ArgHolder (const archive::BufferInputArchive &input_arch)
 
 operator Arg & () &
 
 operator Arg && () &&
 
 operator const Arg & () const &
 

Private Attributes

Arg arg_
 

Additional Inherited Members

- Private Member Functions inherited from NO_DEFAULTS
 NO_DEFAULTS ()
 
 NO_DEFAULTS (const NO_DEFAULTS &)=delete
 
 NO_DEFAULTS (NO_DEFAULTS &&)=delete
 
NO_DEFAULTSoperator= (const NO_DEFAULTS &)=delete
 
NO_DEFAULTSoperator= (NO_DEFAULTS &&)=delete
 

Detailed Description

template<typename Arg>
class madness::detail::ArgHolder< Arg >

A wrapper object for holding task function argument objects.

Constructor & Destructor Documentation

◆ ArgHolder() [1/2]

template<typename Arg >
template<typename Arg_ = Arg, typename = std::enable_if_t< !std::is_same<std::decay_t<Arg_>, archive::BufferInputArchive>::value >>
madness::detail::ArgHolder< Arg >::ArgHolder ( Arg_ &&  arg)
inline

◆ ArgHolder() [2/2]

template<typename Arg >
madness::detail::ArgHolder< Arg >::ArgHolder ( const archive::BufferInputArchive input_arch)
inline

Member Function Documentation

◆ operator Arg &()

template<typename Arg >
madness::detail::ArgHolder< Arg >::operator Arg & ( ) &
inline

◆ operator Arg &&()

template<typename Arg >
madness::detail::ArgHolder< Arg >::operator Arg && ( ) &&
inlineexplicit

◆ operator const Arg &()

template<typename Arg >
madness::detail::ArgHolder< Arg >::operator const Arg & ( ) const &
inline

Member Data Documentation

◆ arg_

template<typename Arg >
Arg madness::detail::ArgHolder< Arg >::arg_
private

The documentation for this class was generated from the following file: