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

An injection that provides Providers for an already-bound dependency. More...

#include <sauce/internal/implicit_provider_binding.h>

Inheritance diagram for sauce::internal::ImplicitProviderBinding< Dependency, Name >:
sauce::internal::Binding< Named< Provider< Dependency >, Name >, NoScope > sauce::internal::ResolvedBinding< Named< Provider< Dependency >, Name > > sauce::internal::InjectorFriend sauce::internal::OpaqueBinding

Public Types

typedef ResolvedBinding< ProviderDependency >::BindingPtr BindingPtr
 
- Public Types inherited from sauce::internal::Binding< Named< Provider< Dependency >, Name >, NoScope >
typedef Key< Named< Provider< Dependency >, Name > >::Normalized Dependency
 
typedef Key< Dependency >::Ptr IfacePtr
 
typedef ResolvedBinding< Dependency >::BindingPtr BindingPtr
 
- Public Types inherited from sauce::internal::ResolvedBinding< Named< Provider< Dependency >, Name > >
typedef Key< Named< Provider< Dependency >, Name > >::Ptr IfacePtr
 
typedef sauce::shared_ptr< ResolvedBinding< Named< Provider< Dependency >, Name > > > BindingPtr
 

Public Member Functions

 ImplicitProviderBinding (ProvidedBindingPtr providedBinding)
 
void inject (ProviderPtr &injected, BindingPtr, InjectorPtr injector) const
 
- Public Member Functions inherited from sauce::internal::Binding< Named< Provider< Dependency >, Name >, NoScope >
std::string getName () const
 The dynamic name of this binding.
 
void setName (std::string const name)
 Set the dynamic name of this binding.
 
- Public Member Functions inherited from sauce::internal::ResolvedBinding< Named< Provider< Dependency >, Name > >
NamedTypeId getKey () const
 The TypeId of the Dependency template parameter.
 
virtual void validateAcyclic (sauce::shared_ptr< Injector >, TypeIds &) const =0
 Establish that further dependencies do not introduce cycles with ones already accumulated. More...
 
virtual void get (IfacePtr &, BindingPtr, sauce::shared_ptr< Injector >) const =0
 Get an Iface, using the given injector to provide dependencies. More...
 
- Public Member Functions inherited from sauce::internal::OpaqueBinding
virtual bool isModifier () const
 Does this binding modify an existing value? More...
 
virtual void eagerlyInject (OpaqueBindingPtr, sauce::shared_ptr< Injector >) const =0
 Provide, but do not return the hidden interface. More...
 

Additional Inherited Members

- Protected Member Functions inherited from sauce::internal::InjectorFriend
template<typename Dependency >
void validateAcyclicHelper (InjectorPtr injector, TypeIds &ids, std::string const name) const
 
template<typename Dependency >
void injectHelper (typename Key< Dependency >::Ptr &injected, InjectorPtr injector, std::string const name) const
 
template<typename Dependency >
void cache (InjectorPtr injector, typename Key< Dependency >::Ptr injected, i::TypeId scope) const
 
template<typename Dependency >
bool probe (InjectorPtr injector, typename Key< Dependency >::Ptr &injected, i::TypeId scope) const
 

Detailed Description

template<typename Dependency, typename Name>
class sauce::internal::ImplicitProviderBinding< Dependency, Name >

An injection that provides Providers for an already-bound dependency.


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