|
|
typedef Inject::Method | Method |
| |
|
typedef ResolvedBinding< Dependency >::BindingPtr | BindingPtr |
| |
|
typedef Key< Dependency >::Normalized | Dependency |
| |
|
typedef Key< Dependency >::Ptr | IfacePtr |
| |
|
typedef ResolvedBinding< Dependency >::BindingPtr | BindingPtr |
| |
|
typedef Key< Dependency >::Ptr | IfacePtr |
| |
|
typedef sauce::shared_ptr< ResolvedBinding< Dependency > > | BindingPtr |
| |
|
| | MethodBinding (Method method) |
| |
| void | inject (IfacePtr &injected, BindingPtr, InjectorPtr injector) const |
| | Inject an Iface. More...
|
| |
| std::string | getName () const |
| | The dynamic name of this binding. More...
|
| |
| void | setName (std::string const name) |
| | Set the dynamic name of this binding. More...
|
| |
| NamedTypeId | getKey () const |
| | The TypeId of the Dependency template parameter. More...
|
| |
| 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...
|
| |
| virtual std::string | getName () const =0 |
| | The dynamic name of this binding. More...
|
| |
| virtual void | setName (std::string)=0 |
| | Set the dynamic name of this binding. More...
|
| |
| virtual NamedTypeId | getKey () const =0 |
| | The NamedTypeId of the (hidden) provided interface. More...
|
| |
| virtual bool | isModifier () const |
| | Does this binding modify an existing value? More...
|
| |
|
virtual TypeId | getScopeKey () const =0 |
| | The TypeId of the (hidden) scope.
|
| |
| virtual void | eagerlyInject (OpaqueBindingPtr, sauce::shared_ptr< Injector >) const =0 |
| | Provide, but do not return the hidden interface. More...
|
| |
|
virtual void | setDynamicDependencyNames (std::vector< std::string > const &)=0 |
| | Accept the list of dynamic dependency names this binding was created with.
|
| |
|
|
class | MethodBindingFriend |
| |
|
| 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 |
| |
◆ MethodBinding()
template<typename Dependency , typename Signature >
117 :
118 dynamicDependencyNames(Inject::arity(), unnamed()),
119 method(method) {}
◆ inject()
template<typename Dependency , typename Signature >
Inject an Iface.
The strategy used is left to derived types.
Implements sauce::internal::Binding< Dependency, NoScope >.
121 {
122 typename InjectParameters::Passed passed(*this, injector);
123 applyMethod<InjectParameters, Signature>(*injected.get(), method, passed);
124 }
The documentation for this class was generated from the following file: