capydi
Loading...
Searching...
No Matches
capy::di::Decorator< Decorator_, Decoratee, SIZE > Struct Template Reference

#include <Decorator.hpp>

Inheritance diagram for capy::di::Decorator< Decorator_, Decoratee, SIZE >:
Collaboration diagram for capy::di::Decorator< Decorator_, Decoratee, SIZE >:

Public Types

using RelatedEntity = Decoratee
using RelatedKeysPack = meta::Pack<meta::Pack<Decoratee>>

Public Member Functions

 Decorator (std::array< DependencyTagPair, SIZE > dependency_tags={})
 Decorator (meta::Unit< Decorator_ >, meta::Unit< Decoratee >, std::array< DependencyTagPair, SIZE > dependency_tags={})
Resolution< RelatedEntity, Error > auto pipe (meta::Reference< RelatedEntity > auto decoratee, meta::wrapped_with< ResolutionContext > auto &context) const
Public Member Functions inherited from capy::di::DecoratableChainableConfig< Decorator< Decorator_, Decoratee, 0 > >
auto with (Args &&... args) &&

Static Public Attributes

static constexpr ConfigType CONFIG_TYPE = ConfigType::CHAINABLE

Member Typedef Documentation

◆ RelatedEntity

template<typename Decorator_, typename Decoratee, std::size_t SIZE = 0>
using capy::di::Decorator< Decorator_, Decoratee, SIZE >::RelatedEntity = Decoratee

◆ RelatedKeysPack

template<typename Decorator_, typename Decoratee, std::size_t SIZE = 0>
using capy::di::Decorator< Decorator_, Decoratee, SIZE >::RelatedKeysPack = meta::Pack<meta::Pack<Decoratee>>

Constructor & Destructor Documentation

◆ Decorator() [1/2]

template<typename Decorator_, typename Decoratee, std::size_t SIZE = 0>
capy::di::Decorator< Decorator_, Decoratee, SIZE >::Decorator ( std::array< DependencyTagPair, SIZE > dependency_tags = {})
inlineexplicit

◆ Decorator() [2/2]

template<typename Decorator_, typename Decoratee, std::size_t SIZE = 0>
capy::di::Decorator< Decorator_, Decoratee, SIZE >::Decorator ( meta::Unit< Decorator_ > ,
meta::Unit< Decoratee > ,
std::array< DependencyTagPair, SIZE > dependency_tags = {} )
inline

Member Function Documentation

◆ pipe()

template<typename Decorator_, typename Decoratee, std::size_t SIZE = 0>
Resolution< RelatedEntity, Error > auto capy::di::Decorator< Decorator_, Decoratee, SIZE >::pipe ( meta::Reference< RelatedEntity > auto decoratee,
meta::wrapped_with< ResolutionContext > auto & context ) const
inline

Member Data Documentation

◆ CONFIG_TYPE

template<typename Decorator_, typename Decoratee, std::size_t SIZE = 0>
ConfigType capy::di::Decorator< Decorator_, Decoratee, SIZE >::CONFIG_TYPE = ConfigType::CHAINABLE
staticconstexpr

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