Getting Started
Requirements
- C++20 or later compiler
- CMake 3.16 or later
- Optional: fmt library for enhanced logging (enable with
SKIRNIR_USE_FMT)
Building
git clone https://github.com/Skirnir/Skirnir.git
mkdir build && cd build
cmake ..
cmake --build .
Running Tests
cmake .. -DSKIRNIR_BUILD_TESTS=ON
cmake --build .
ctest
Basic Usage
- Create a
ServiceCollection - Register your services with desired lifetimes
- Build a
ServiceProvider - Request services via
GetService<T>()
#include <Skirnir/Skirnir.hpp>
auto serviceCollection = skr::ServiceCollection();
serviceCollection.AddSingleton<MyService>();
auto serviceProvider = serviceCollection.CreateServiceProvider();
auto service = serviceProvider->GetService<MyService>();