lintel 0.2.0
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions | Variables
Container.h File Reference
#include <algorithm>
#include <cstddef>
#include <functional>
#include <memory>
#include <mutex>
#include <stdexcept>
#include <string>
#include <type_traits>
#include <typeindex>
#include <unordered_map>
#include <utility>
#include <vector>
#include "lintel/core/utils/TypeName.h"

Go to the source code of this file.

Classes

class  lintel::di::ResolutionException
 
struct  lintel::di::detail::IsSupportedArgument< T >
 
struct  lintel::di::detail::IsSupportedArgument< std::shared_ptr< T > >
 
struct  lintel::di::detail::IsSupportedArgument< std::vector< std::shared_ptr< T > > >
 
struct  lintel::di::detail::ArgumentResolver< std::shared_ptr< TDependency > >
 
struct  lintel::di::detail::ArgumentResolver< std::vector< std::shared_ptr< TDependency > > >
 
struct  lintel::di::detail::InjectorArgument< TOwner >
 
struct  lintel::di::detail::ActivationScope
 
struct  lintel::di::Registration
 
class  lintel::di::Container
 
class  lintel::di::RegistrationBuilder< TInstance >
 
class  lintel::di::ContainerBuilder
 

Namespaces

namespace  lintel
 
namespace  lintel::di
 
namespace  lintel::di::detail
 

Typedefs

template<typename T , std::size_t >
using lintel::di::detail::InjectorFor = InjectorArgument< T >
 

Functions

template<typename T , std::size_t... Indices>
constexpr bool lintel::di::detail::isInjectableWith (std::index_sequence< Indices... >)
 
template<typename T , std::size_t N>
constexpr bool lintel::di::detail::isInjectableWith ()
 
template<typename T , std::size_t N>
constexpr std::size_t lintel::di::detail::constructorArity ()
 
template<typename T >
constexpr bool lintel::di::detail::hasInjectableConstructor ()
 
template<typename T , std::size_t... Indices>
std::shared_ptr< T > lintel::di::detail::createWithInjectors (Container &container, std::index_sequence< Indices... >)
 
template<typename T >
std::shared_ptr< T > lintel::di::detail::createInstance (Container &container)
 
std::vector< const void * > & lintel::di::detail::activeRegistrations ()
 

Variables

constexpr std::size_t lintel::di::detail::kMaxConstructorArguments = 20