Sauce-0.10.1
A C++ Dependency Injection Framework
Public Types | Public Member Functions | Static Public Member Functions | List of all members
sauce::internal::ApplyVoidFunction< Parameters, void(*)(A0, A1, A2, A3, A4, A5, A6, A7)> Class Template Reference

Public Types

typedef void(* Signature) (A0, A1, A2, A3, A4, A5, A6, A7)
 
typedef void(* Function) (typename Parameters::template Parameter< A0, 0 >::Type, typename Parameters::template Parameter< A1, 1 >::Type, typename Parameters::template Parameter< A2, 2 >::Type, typename Parameters::template Parameter< A3, 3 >::Type, typename Parameters::template Parameter< A4, 4 >::Type, typename Parameters::template Parameter< A5, 5 >::Type, typename Parameters::template Parameter< A6, 6 >::Type, typename Parameters::template Parameter< A7, 7 >::Type)
 

Public Member Functions

 ApplyVoidFunction (Function function)
 
template<typename Passed >
void apply (Passed passed)
 

Static Public Member Functions

static int arity ()
 

Constructor & Destructor Documentation

◆ ApplyVoidFunction()

template<typename Parameters , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 >
sauce::internal::ApplyVoidFunction< Parameters, void(*)(A0, A1, A2, A3, A4, A5, A6, A7)>::ApplyVoidFunction ( Function  function)
inline
1377 :
1378 function(function) {}

Member Function Documentation

◆ apply()

template<typename Parameters , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 >
template<typename Passed >
void sauce::internal::ApplyVoidFunction< Parameters, void(*)(A0, A1, A2, A3, A4, A5, A6, A7)>::apply ( Passed  passed)
inline
1385 {
1386 function(
1387 (typename Parameters::template Parameter<A0, 0>()).template yield<Passed>(passed),
1388 (typename Parameters::template Parameter<A1, 1>()).template yield<Passed>(passed),
1389 (typename Parameters::template Parameter<A2, 2>()).template yield<Passed>(passed),
1390 (typename Parameters::template Parameter<A3, 3>()).template yield<Passed>(passed),
1391 (typename Parameters::template Parameter<A4, 4>()).template yield<Passed>(passed),
1392 (typename Parameters::template Parameter<A5, 5>()).template yield<Passed>(passed),
1393 (typename Parameters::template Parameter<A6, 6>()).template yield<Passed>(passed),
1394 (typename Parameters::template Parameter<A7, 7>()).template yield<Passed>(passed));
1395 }

◆ arity()

template<typename Parameters , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 >
static int sauce::internal::ApplyVoidFunction< Parameters, void(*)(A0, A1, A2, A3, A4, A5, A6, A7)>::arity ( )
inlinestatic
1380 {
1381 return 8;
1382 }

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