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

Public Types

typedef Constructed_ Constructed
 

Public Member Functions

template<typename Passed >
Constructed * apply (Passed passed)
 
template<typename Passed >
void observe (Passed passed)
 

Static Public Member Functions

static int arity ()
 

Constructor & Destructor Documentation

◆ ApplyConstructor()

template<typename Parameters , typename Allocator_ , typename Constructed_ , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 >
sauce::internal::ApplyConstructor< Parameters, Constructed_(A0, A1, A2, A3, A4, A5, A6, A7, A8), Allocator_ >::ApplyConstructor ( )
inline
1676 :
1677 allocator() {}

Member Function Documentation

◆ apply()

template<typename Parameters , typename Allocator_ , typename Constructed_ , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 >
template<typename Passed >
Constructed * sauce::internal::ApplyConstructor< Parameters, Constructed_(A0, A1, A2, A3, A4, A5, A6, A7, A8), Allocator_ >::apply ( Passed  passed)
inline
1684 {
1685 return new(allocator.allocate(1)) Constructed(
1686 (typename Parameters::template Parameter<A0, 0>()).template yield<Passed>(passed),
1687 (typename Parameters::template Parameter<A1, 1>()).template yield<Passed>(passed),
1688 (typename Parameters::template Parameter<A2, 2>()).template yield<Passed>(passed),
1689 (typename Parameters::template Parameter<A3, 3>()).template yield<Passed>(passed),
1690 (typename Parameters::template Parameter<A4, 4>()).template yield<Passed>(passed),
1691 (typename Parameters::template Parameter<A5, 5>()).template yield<Passed>(passed),
1692 (typename Parameters::template Parameter<A6, 6>()).template yield<Passed>(passed),
1693 (typename Parameters::template Parameter<A7, 7>()).template yield<Passed>(passed),
1694 (typename Parameters::template Parameter<A8, 8>()).template yield<Passed>(passed));
1695 }

◆ arity()

template<typename Parameters , typename Allocator_ , typename Constructed_ , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 >
static int sauce::internal::ApplyConstructor< Parameters, Constructed_(A0, A1, A2, A3, A4, A5, A6, A7, A8), Allocator_ >::arity ( )
inlinestatic
1679 {
1680 return 9;
1681 }

◆ observe()

template<typename Parameters , typename Allocator_ , typename Constructed_ , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 >
template<typename Passed >
void sauce::internal::ApplyConstructor< Parameters, Constructed_(A0, A1, A2, A3, A4, A5, A6, A7, A8), Allocator_ >::observe ( Passed  passed)
inline
1698 {
1699 (typename Parameters::template Parameter<A0, 0>()).template observe<Passed>(passed);
1700 (typename Parameters::template Parameter<A1, 1>()).template observe<Passed>(passed);
1701 (typename Parameters::template Parameter<A2, 2>()).template observe<Passed>(passed);
1702 (typename Parameters::template Parameter<A3, 3>()).template observe<Passed>(passed);
1703 (typename Parameters::template Parameter<A4, 4>()).template observe<Passed>(passed);
1704 (typename Parameters::template Parameter<A5, 5>()).template observe<Passed>(passed);
1705 (typename Parameters::template Parameter<A6, 6>()).template observe<Passed>(passed);
1706 (typename Parameters::template Parameter<A7, 7>()).template observe<Passed>(passed);
1707 (typename Parameters::template Parameter<A8, 8>()).template observe<Passed>(passed);
1708 }

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