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), 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 >
sauce::internal::ApplyConstructor< Parameters, Constructed_(A0), Allocator_ >::ApplyConstructor ( )
inline
307 :
308 allocator() {}

Member Function Documentation

◆ apply()

template<typename Parameters , typename Allocator_ , typename Constructed_ , typename A0 >
template<typename Passed >
Constructed * sauce::internal::ApplyConstructor< Parameters, Constructed_(A0), Allocator_ >::apply ( Passed  passed)
inline
315 {
316 return new(allocator.allocate(1)) Constructed(
317 (typename Parameters::template Parameter<A0, 0>()).template yield<Passed>(passed));
318 }

◆ arity()

template<typename Parameters , typename Allocator_ , typename Constructed_ , typename A0 >
static int sauce::internal::ApplyConstructor< Parameters, Constructed_(A0), Allocator_ >::arity ( )
inlinestatic
310 {
311 return 1;
312 }

◆ observe()

template<typename Parameters , typename Allocator_ , typename Constructed_ , typename A0 >
template<typename Passed >
void sauce::internal::ApplyConstructor< Parameters, Constructed_(A0), Allocator_ >::observe ( Passed  passed)
inline
321 {
322 (typename Parameters::template Parameter<A0, 0>()).template observe<Passed>(passed);
323 }

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