External Singleton#
Singleton can be registered externally
Examples/Guides/ExternalSingleton#
#include <SevenBit/DI.hpp>
#include <iostream>
using namespace sb::di;
class Service
{
private:
std::string _message;
public:
Service(std::string message) { _message = message; }
std::string message() { return _message; }
};
int main()
{
Service externalSingleton{"Hello from service!"};
IServiceProvider::Ptr provider = ServiceCollection{}.addSingleton(&externalSingleton).buildServiceProvider();
Service &service = provider->getService<Service>();
std::cout << service.message();
return 0;
}
Output#
Hello from service.