Sauce-0.10.1
A C++ Dependency Injection Framework
Public Types | Public Member Functions | Static Public Member Functions | List of all members
sauce::internal::ApplyFunction< Parameters, Return_(*)(A0, A1)> Class Template Reference

Public Types

typedef Return_ Return
 
typedef Return_(* Signature) (A0, A1)
 
typedef Return_(* Function) (typename Parameters::template Parameter< A0, 0 >::Type, typename Parameters::template Parameter< A1, 1 >::Type)
 

Public Member Functions

 ApplyFunction (Function function)
 
template<typename Passed >
Return apply (Passed passed)
 
template<typename Passed >
void observe (Passed passed)
 

Static Public Member Functions

static int arity ()
 

Constructor & Destructor Documentation

◆ ApplyFunction()

template<typename Parameters , typename Return_ , typename A0 , typename A1 >
sauce::internal::ApplyFunction< Parameters, Return_(*)(A0, A1)>::ApplyFunction ( Function  function)
inline
341 :
342 function(function) {}

Member Function Documentation

◆ apply()

template<typename Parameters , typename Return_ , typename A0 , typename A1 >
template<typename Passed >
Return sauce::internal::ApplyFunction< Parameters, Return_(*)(A0, A1)>::apply ( Passed  passed)
inline
349 {
350 return function(
351 (typename Parameters::template Parameter<A0, 0>()).template yield<Passed>(passed),
352 (typename Parameters::template Parameter<A1, 1>()).template yield<Passed>(passed));
353 }

◆ arity()

template<typename Parameters , typename Return_ , typename A0 , typename A1 >
static int sauce::internal::ApplyFunction< Parameters, Return_(*)(A0, A1)>::arity ( )
inlinestatic
344 {
345 return 2;
346 }

◆ observe()

template<typename Parameters , typename Return_ , typename A0 , typename A1 >
template<typename Passed >
void sauce::internal::ApplyFunction< Parameters, Return_(*)(A0, A1)>::observe ( Passed  passed)
inline
356 {
357 (typename Parameters::template Parameter<A0, 0>()).template observe<Passed>(passed);
358 (typename Parameters::template Parameter<A1, 1>()).template observe<Passed>(passed);
359 }

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