gambit is hosted by Hepforge, IPPP Durham
GAMBIT  v1.5.0-252-gf9a3f78
a Global And Modular Bsm Inference Tool
Gambit::BEfunction_bucket< typename variadic_ptr< TYPE, ARGS... >::type, TYPE, ARGS... > Class Template Reference

Partial specialisation for variadic backend functions. More...

#include <safety_bucket.hpp>

Inheritance diagram for Gambit::BEfunction_bucket< typename variadic_ptr< TYPE, ARGS... >::type, TYPE, ARGS... >:
Collaboration diagram for Gambit::BEfunction_bucket< typename variadic_ptr< TYPE, ARGS... >::type, TYPE, ARGS... >:

Public Member Functions

 BEfunction_bucket (str mym, str myf, str me, backend_functor< typename variadic_ptr< TYPE, ARGS... >::type, TYPE, ARGS... > *functor_ptr_in=NULL)
 Constructor for variadic BEfunction_bucket. More...
 
template<typename... VARARGS>
TYPE operator() (VARARGS &&...varargs)
 Call backend function. More...
 
- Public Member Functions inherited from Gambit::BEfunction_bucket_common< variadic_ptr< TYPE, ARGS... >::type, TYPE, ARGS... >
 BEfunction_bucket_common (str mym, str myf, str me, backend_functor< variadic_ptr< TYPE, ARGS... >::type, TYPE, ARGS... > *functor_ptr_in=NULL)
 Constructor for BEfunction_bucket_common. More...
 
void initialize (backend_functor< variadic_ptr< TYPE, ARGS... >::type, TYPE, ARGS... > *functor_ptr_in)
 Initialize this bucket with a functor pointer. More...
 
variadic_ptr< TYPE, ARGS... >::type pointer ()
 Return the underlying function pointer. More...
 
- Public Member Functions inherited from Gambit::BE_bucket_base
 BE_bucket_base (str mym, str myf, str me)
 Constructor for BE_bucket_base. More...
 
str backend ()
 Get backend name. More...
 
str version ()
 Get version information. More...
 
- Public Member Functions inherited from Gambit::safety_bucket_base
 safety_bucket_base (str myinfo)
 Master constructor. More...
 
str name ()
 Get capability name. More...
 
str origin ()
 Get name of origin (module/backend). More...
 

Additional Inherited Members

- Protected Member Functions inherited from Gambit::safety_bucket_base
void dieGracefully () const
 Failure message invoked when the user tries to access the object before it is initialized. More...
 
- Protected Attributes inherited from Gambit::BEfunction_bucket_common< variadic_ptr< TYPE, ARGS... >::type, TYPE, ARGS... >
backend_functor< variadic_ptr< TYPE, ARGS... >::type, TYPE, ARGS... > * _functor_ptr
 
- Protected Attributes inherited from Gambit::safety_bucket_base
functor_functor_base_ptr
 
bool _initialized
 
const str whoami
 

Detailed Description

template<typename TYPE, typename... ARGS>
class Gambit::BEfunction_bucket< typename variadic_ptr< TYPE, ARGS... >::type, TYPE, ARGS... >

Partial specialisation for variadic backend functions.

Definition at line 336 of file safety_bucket.hpp.

Constructor & Destructor Documentation

◆ BEfunction_bucket()

template<typename TYPE , typename... ARGS>
Gambit::BEfunction_bucket< typename variadic_ptr< TYPE, ARGS... >::type, TYPE, ARGS... >::BEfunction_bucket ( str  mym,
str  myf,
str  me,
backend_functor< typename variadic_ptr< TYPE, ARGS... >::type, TYPE, ARGS... > *  functor_ptr_in = NULL 
)
inline

Constructor for variadic BEfunction_bucket.

Definition at line 343 of file safety_bucket.hpp.

344  : BEfunction_bucket_common<typename variadic_ptr<TYPE,ARGS...>::type,TYPE,ARGS...>(mym, myf, me, functor_ptr_in) {}
BEfunction_bucket_common(str mym, str myf, str me, backend_functor< variadic_ptr< TYPE, ARGS... >::type, TYPE, ARGS... > *functor_ptr_in=NULL)
Constructor for BEfunction_bucket_common.

Member Function Documentation

◆ operator()()

template<typename TYPE , typename... ARGS>
template<typename... VARARGS>
TYPE Gambit::BEfunction_bucket< typename variadic_ptr< TYPE, ARGS... >::type, TYPE, ARGS... >::operator() ( VARARGS &&...  varargs)
inline

Call backend function.

Definition at line 348 of file safety_bucket.hpp.

References Gambit::safety_bucket_base::_initialized, and Gambit::safety_bucket_base::dieGracefully().

349  {
350  if (not this->_initialized) this->dieGracefully();
351  return (*(this->_functor_ptr))(std::forward<VARARGS>(varargs)...);
352  }
void dieGracefully() const
Failure message invoked when the user tries to access the object before it is initialized.
backend_functor< variadic_ptr< TYPE, ARGS... >::type, TYPE, ARGS... > * _functor_ptr
Here is the call graph for this function:

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