Sauce-0.10.1
A C++ Dependency Injection Framework
Public Types | Static Public Member Functions | List of all members
sauce::internal::ImplicitBinding< Named< Provider< ProvidedDependency >, Name > > Class Template Reference

The implicit Provider binding for bound dependencies. More...

#include <sauce/internal/implicit_bindings.h>

Public Types

typedef ImplicitBindingTraits< i::ImplicitProviderBinding< ProvidedDependency, Name > > Traits
 
typedef Traits::ImplicitInjection ImplicitInjection
 
typedef Traits::Dependency Dependency
 
typedef Traits::BindingPtr BindingPtr
 

Static Public Member Functions

static BindingPtr get (Concrete const &bindings, std::string const name)
 

Detailed Description

template<typename ProvidedDependency, typename Name>
class sauce::internal::ImplicitBinding< Named< Provider< ProvidedDependency >, Name > >

The implicit Provider binding for bound dependencies.

Member Function Documentation

◆ get()

template<typename ProvidedDependency , typename Name >
static BindingPtr sauce::internal::ImplicitBinding< Named< Provider< ProvidedDependency >, Name > >::get ( Concrete const &  bindings,
std::string const  name 
)
inlinestatic
102 {
103 typedef typename Key<ProvidedDependency>::Normalized Normalized;
104 typedef typename ResolvedBinding<Normalized>::BindingPtr ProvidedBindingPtr;
105
106 ProvidedBindingPtr providedBinding(bindings.getProvidingBinding<Normalized>(name));
107 BindingPtr binding(new ImplicitInjection(providedBinding));
108 return binding;
109 }
Named< Iface_, Unnamed > Normalized
Note Normalized is not Iface, but Named<Iface, Unnamed>.
Definition: key.h:27

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