|
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: