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

Public Types

typedef Return_ Return
 
typedef Receiver_ Receiver
 
typedef Return_(Receiver_::* Signature) (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9)
 
typedef Return_(Receiver_::* Method) (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, typename Parameters::template Parameter< A8, 8 >::Type, typename Parameters::template Parameter< A9, 9 >::Type)
 

Public Member Functions

 ApplyMethod (Method method)
 
template<typename Passed >
Return apply (Receiver &receiver, Passed passed)
 
template<typename Passed >
void observe (Passed passed)
 

Static Public Member Functions

static int arity ()
 

Constructor & Destructor Documentation

◆ ApplyMethod()

template<typename Parameters , typename Return_ , typename Receiver_ , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 >
sauce::internal::ApplyMethod< Parameters, Return_(Receiver_::*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9)>::ApplyMethod ( Method  method)
inline
1843 :
1844 method(method) {}

Member Function Documentation

◆ apply()

template<typename Parameters , typename Return_ , typename Receiver_ , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 >
template<typename Passed >
Return sauce::internal::ApplyMethod< Parameters, Return_(Receiver_::*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9)>::apply ( Receiver &  receiver,
Passed  passed 
)
inline
1851 {
1852 return (receiver.*method)(
1853 (typename Parameters::template Parameter<A0, 0>()).template yield<Passed>(passed),
1854 (typename Parameters::template Parameter<A1, 1>()).template yield<Passed>(passed),
1855 (typename Parameters::template Parameter<A2, 2>()).template yield<Passed>(passed),
1856 (typename Parameters::template Parameter<A3, 3>()).template yield<Passed>(passed),
1857 (typename Parameters::template Parameter<A4, 4>()).template yield<Passed>(passed),
1858 (typename Parameters::template Parameter<A5, 5>()).template yield<Passed>(passed),
1859 (typename Parameters::template Parameter<A6, 6>()).template yield<Passed>(passed),
1860 (typename Parameters::template Parameter<A7, 7>()).template yield<Passed>(passed),
1861 (typename Parameters::template Parameter<A8, 8>()).template yield<Passed>(passed),
1862 (typename Parameters::template Parameter<A9, 9>()).template yield<Passed>(passed));
1863 }

◆ arity()

template<typename Parameters , typename Return_ , typename Receiver_ , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 >
static int sauce::internal::ApplyMethod< Parameters, Return_(Receiver_::*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9)>::arity ( )
inlinestatic
1846 {
1847 return 10;
1848 }

◆ observe()

template<typename Parameters , typename Return_ , typename Receiver_ , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 >
template<typename Passed >
void sauce::internal::ApplyMethod< Parameters, Return_(Receiver_::*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9)>::observe ( Passed  passed)
inline
1866 {
1867 (typename Parameters::template Parameter<A0, 0>()).template observe<Passed>(passed);
1868 (typename Parameters::template Parameter<A1, 1>()).template observe<Passed>(passed);
1869 (typename Parameters::template Parameter<A2, 2>()).template observe<Passed>(passed);
1870 (typename Parameters::template Parameter<A3, 3>()).template observe<Passed>(passed);
1871 (typename Parameters::template Parameter<A4, 4>()).template observe<Passed>(passed);
1872 (typename Parameters::template Parameter<A5, 5>()).template observe<Passed>(passed);
1873 (typename Parameters::template Parameter<A6, 6>()).template observe<Passed>(passed);
1874 (typename Parameters::template Parameter<A7, 7>()).template observe<Passed>(passed);
1875 (typename Parameters::template Parameter<A8, 8>()).template observe<Passed>(passed);
1876 (typename Parameters::template Parameter<A9, 9>()).template observe<Passed>(passed);
1877 }

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