22template<
typename T, const T& Ref>
37template<
typename Type>
59 const std::tuple<Dependencies...>& dependencies
62 static constexpr CentralType instance = std::apply(Type::create, dependencies);
63 return std::expected<meta::ConstexprRef<CentralType, instance>,
Error> {
70 template<
typename... Dependencies>
74 const std::tuple<Dependencies...>& dependencies
77 return std::expected<meta::RuntimeRef<CentralType>,
Error> {
Configuration type enumeration for the dependency injection system.
Compile-time type pack utilities and metaprogramming foundations.
Definition Constleton.hpp:30
Definition Decorator.hpp:19
constexpr bool is_constexpr_reference_v
Definition Constleton.hpp:26
ConfigType
Categorization of configuration strategies in the DI container.
Definition ConfigType.hpp:24
@ CREATIONAL
Creational configs handle object instantiation and factory patterns. These are responsible for creati...
Definition ConfigType.hpp:27
Error
Enumeration of possible errors during dependency injection resolution.
Definition Error.hpp:26
@ CONSTLETON_ERROR
Definition Error.hpp:35
Definition Constleton.hpp:42
meta::Pack< meta::Pack< CentralType > > ResolutionKeysPack
Definition Constleton.hpp:47
const Type CentralType
Definition Constleton.hpp:46
static constexpr ConfigType CONFIG_TYPE
Definition Constleton.hpp:52
constexpr meta::wrapped_with< std::expected > auto do_resolve(meta::Pack< CentralType > &&keys, const std::tuple< Dependencies... > &dependencies) const
Definition Constleton.hpp:57
Definition DecoratableConfig.hpp:9
Definition Constleton.hpp:20