ExternalServiceFcnFactory#

template<class FactoryFcn>
class ExternalServiceFcnFactory : public sb::di::IServiceFactory#

Public Types

using ReturnType = std::invoke_result_t<FactoryFcn, IServiceProvider&>#
using IsReturnTypePtr = std::is_pointer<ReturnType>#
using ServiceType = std::remove_pointer_t<ReturnType>#

Public Functions

inline ExternalServiceFcnFactory(FactoryFcn factoryFunction)#
inline virtual TypeId getServiceTypeId() const#

Get the TypeId of the service instances that the factory will create.

inline virtual IServiceInstance::Ptr createInstance(IServiceProvider &serviceProvider) const#

Create a service instance object.

inline virtual IServiceFactory::Ptr clone()#

Returns copy of self factory.

Note that IServiceFactory implementation must be copyable