|
capydi
|
Namespaces | |
| namespace | implementation_details_ |
Concepts | |
| concept | MaybeLike |
| concept | ChainableConfig |
| Concept for configuration objects that transform/decorate dependencies. | |
| concept | CreationalConfig |
| Concept for configurations that handle dependency creation and instantiation. | |
| concept | DiConfig |
| Master concept for all valid DI configurations. | |
| concept | ConstexprReference |
| concept | Creatable |
| concept | Resolution |
Typedefs | |
| template<typename DiAction_> | |
| using | di_action_return_t = typename DiAction_::ReturnType |
| template<typename DiAction_> | |
| using | di_action_args_pack_t = typename DiAction_::ArgsPack |
| template<ChainableConfig Config> | |
| using | get_related_entity_t = typename Config::RelatedEntity |
| Helper alias to extract the entity type from a ChainableConfig. | |
| template<ChainableConfig Config> | |
| using | get_related_keys_pack_t = typename Config::RelatedKeysPack |
| Helper alias to extract the key type from a ChainableConfig. | |
| template<CreationalConfig Config> | |
| using | central_type_t = typename Config::CentralType |
| Helper alias to extract the central type from a CreationalConfig. | |
| template<CreationalConfig Config> | |
| using | resolution_keys_pack_t = typename Config::ResolutionKeysPack |
| Helper alias to extract the resolution keys from a CreationalConfig. | |
| template<CreationalConfig Config> | |
| using | dependencies_pack_t = typename Config::DependenciesPack |
| using | DependencyTagPair = std::pair<std::size_t, tag_t> |
| using | tag_t = const char* |
Enumerations | |
| enum class | DiActionError { DI_ACTION_UNABLE_TO_RESOLVE_ARGS , DI_ACTION_EXECUTION_ERROR } |
| enum class | ConfigType : unsigned char { CREATIONAL , DECORATIVE , CHAINABLE , SIZE } |
| Categorization of configuration strategies in the DI container. More... | |
| enum class | Error { CANNOT_BE_RESOLVED , DEPENDENCY_CANNOT_BE_RESOLVED , CONSTLETON_ERROR , UNRECOGNIZED_CONFIG_INPUT , TAG_CONFIG_EXPECTED , TAG_MISMATCH , NOT_ALL_INPUTS_RETRIEVED , OBSERVER_COULD_NOT_RESOLVE_TYPE , OBSERVER_ACTION_EXECUTION_FAILURE , INVALID_DECORATOR_CONFIG , INVALID_DECORATOR_DEPENDENCIES } |
| Enumeration of possible errors during dependency injection resolution. More... | |
Functions | |
| template<typename DiAction_> | |
| auto | execute_di_action (DiAction_ const &di_action, auto &context) |
| template<template< typename > typename Predicate, typename... Configs> | |
| constexpr auto | filter_configs (meta::UnaryMetaFunction< Predicate > &&predicates, Configs &... configs) noexcept |
Variables | |
| template<typename T> | |
| constexpr bool | is_constexpr_reference_v = IsConstexprReference<std::remove_cvref_t<T>>::value |
| using capy::di::central_type_t = typename Config::CentralType |
Helper alias to extract the central type from a CreationalConfig.
| using capy::di::dependencies_pack_t = typename Config::DependenciesPack |
| using capy::di::DependencyTagPair = std::pair<std::size_t, tag_t> |
| using capy::di::di_action_args_pack_t = typename DiAction_::ArgsPack |
| using capy::di::di_action_return_t = typename DiAction_::ReturnType |
| using capy::di::get_related_entity_t = typename Config::RelatedEntity |
Helper alias to extract the entity type from a ChainableConfig.
| using capy::di::get_related_keys_pack_t = typename Config::RelatedKeysPack |
Helper alias to extract the key type from a ChainableConfig.
| using capy::di::resolution_keys_pack_t = typename Config::ResolutionKeysPack |
Helper alias to extract the resolution keys from a CreationalConfig.
| using capy::di::tag_t = const char* |
|
strong |
Categorization of configuration strategies in the DI container.
Each configuration must declare its type to enable the container to route it to the appropriate dispatcher and resolution strategy.
|
strong |
|
strong |
Enumeration of possible errors during dependency injection resolution.
These errors are returned via std::expected to allow compile-time-aware error handling. Users can inspect the error and decide whether to recover, provide a default, or propagate.
|
inline |

|
nodiscardconstexprnoexcept |
|
constexpr |