IServiceFactory#
-
struct IServiceFactory#
Interface for all service factories.
Subclassed by sb::di::details::ExternalServiceFactory< T >, sb::di::details::ExternalServiceFcnFactory< FactoryFcn >, sb::di::details::ServiceCtorFactory< T >, sb::di::details::ServiceFcnFactory< FactoryFcn >
Public Types
-
using Ptr = std::unique_ptr<IServiceFactory>#
Public Functions
-
virtual TypeId getServiceTypeId() const = 0#
Get the TypeId of the service instances that the factory will create.
-
virtual IServiceInstance::Ptr createInstance(IServiceProvider &serviceProvider) const = 0#
Create a service instance object.
-
virtual IServiceFactory::Ptr clone() = 0#
Returns copy of self factory.
Note that IServiceFactory implementation must be copyable
-
virtual ~IServiceFactory() = default#
-
using Ptr = std::unique_ptr<IServiceFactory>#