lintel 0.2.0
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
lintel::di::Container Class Reference

#include <Container.h>

Public Member Functions

 Container ()=default
 
 Container (const Container &)=delete
 
Container & operator= (const Container &)=delete
 
template<typename T >
std::shared_ptr< T > resolve ()
 
template<typename T >
std::vector< std::shared_ptr< T > > resolveAll ()
 

Friends

class ContainerBuilder
 

Detailed Description

Resolves registered instances and auto-wires unregistered concrete types.

Constructor & Destructor Documentation

◆ Container() [1/2]

lintel::di::Container::Container ( )
default

◆ Container() [2/2]

lintel::di::Container::Container ( const Container &  )
delete

Member Function Documentation

◆ operator=()

Container & lintel::di::Container::operator= ( const Container &  )
delete

◆ resolve()

template<typename T >
std::shared_ptr< T > lintel::di::Container::resolve ( )
inline

Resolve the last registration for T.

Template Parameters
Tthe (interface or concrete) type to resolve
Returns
the activated instance
Exceptions
ResolutionExceptionif T is not registered and cannot be auto-wired

◆ resolveAll()

template<typename T >
std::vector< std::shared_ptr< T > > lintel::di::Container::resolveAll ( )
inline

Resolve every registration for T in registration order.

Template Parameters
Tthe interface type to resolve all implementations of
Returns
the activated instances, empty if T was never registered

Friends And Related Symbol Documentation

◆ ContainerBuilder


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