capydi
Loading...
Searching...
No Matches
capy::di::Constleton< Type > Struct Template Reference

#include <Constleton.hpp>

Inheritance diagram for capy::di::Constleton< Type >:
Collaboration diagram for capy::di::Constleton< Type >:

Public Types

using CentralType = const Type
using ResolutionKeysPack

Public Member Functions

template<ConstexprReference... Dependencies>
constexpr meta::wrapped_with< std::expected > auto do_resolve (meta::Pack< CentralType > &&keys, const std::tuple< Dependencies... > &dependencies) const
template<typename... Dependencies>
constexpr meta::wrapped_with< std::expected > auto do_resolve (meta::Pack< CentralType > &&keys, const std::tuple< Dependencies... > &dependencies) const
Public Member Functions inherited from capy::di::DecoratableConfig< Constleton< Type > >
auto with (Args &&... args) &&

Static Public Attributes

static constexpr ConfigType CONFIG_TYPE = ConfigType::CREATIONAL

Member Typedef Documentation

◆ CentralType

template<typename Type>
using capy::di::Constleton< Type >::CentralType = const Type

◆ ResolutionKeysPack

template<typename Type>
using capy::di::Constleton< Type >::ResolutionKeysPack
Initial value:
>
A compile-time heterogeneous type list.
Definition Pack.hpp:70

Member Function Documentation

◆ do_resolve() [1/2]

template<typename Type>
template<typename... Dependencies>
meta::wrapped_with< std::expected > auto capy::di::Constleton< Type >::do_resolve ( meta::Pack< CentralType > && keys,
const std::tuple< Dependencies... > & dependencies ) const
inlineconstexpr

◆ do_resolve() [2/2]

template<typename Type>
template<ConstexprReference... Dependencies>
meta::wrapped_with< std::expected > auto capy::di::Constleton< Type >::do_resolve ( meta::Pack< CentralType > && keys,
const std::tuple< Dependencies... > & dependencies ) const
inlineconstexpr

Member Data Documentation

◆ CONFIG_TYPE

template<typename Type>
ConfigType capy::di::Constleton< Type >::CONFIG_TYPE = ConfigType::CREATIONAL
staticconstexpr

The documentation for this struct was generated from the following file: