solinject  1.0.0
C++17 Dependency Injection header-only library
sol::di::impl::IServiceTyped< T > Class Template Referenceabstract

DI service interface. More...

#include <IServiceTyped.hpp>

Inheritance diagram for sol::di::impl::IServiceTyped< T >:
[legend]
Collaboration diagram for sol::di::impl::IServiceTyped< T >:
[legend]

Public Types

using ServicePtr = typename std::shared_ptr< T >
 Pointer to an instance of a service.
 
using Factory = typename std::function< ServicePtr(const Container &)>
 Factory function that accepts a reference to a DI container and returns a pointer to an instance of a service.
 
- Public Types inherited from sol::di::impl::IService
using Container = sol::di::Container
 DI container.
 
using VoidPtr = std::shared_ptr< void >
 Pointer to void.
 

Public Member Functions

virtual ServicePtr GetService (const Container &container)=0
 Resolves the service. More...
 
- Public Member Functions inherited from sol::di::impl::IService
virtual VoidPtr GetServiceAsVoidPtr (const Container &container)=0
 Resolves a service. More...
 

Detailed Description

template<class T>
class sol::di::impl::IServiceTyped< T >

DI service interface.

Member Function Documentation

◆ GetService()

template<class T >
virtual ServicePtr sol::di::impl::IServiceTyped< T >::GetService ( const Container container)
pure virtual

Resolves the service.

Parameters
[in]containerDI container
Returns
pointer to a service instance

Implemented in sol::di::impl::ServiceBase< T >, sol::di::impl::ServiceBase< TService >, and sol::di::impl::ServiceBase< TServiceParents >.


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