blob: 54a291eb222a6bdfd7d94a13c3971054f82fcac0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#pragma once
#include "DI/container.hpp"
#include <memory>
template <class Interface>
class IAutoWirable
{
public:
static auto resolve() noexcept -> Interface;
};
template <class Interface, class ObjectImpl, class... Dependencies>
class AutoWirable : public IAutoWirable<Interface>
{
public:
static auto resolve(const Container &container) noexcept -> std::shared_ptr<Interface>;
};
#include "auto_wirable.tpp"
|