blob: 0ae66dff5b842c7ee450c334afbe98521becba31 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#pragma once
#include "DI/container.hpp"
#include "DI/interfaces/wrapper.hpp"
#include <memory>
template <class Interface, class ObjectImpl>
class ObjectWrapper : public IWrapper<std::shared_ptr<Interface>>
{
public:
explicit ObjectWrapper(const Container &container) : _container(container) {}
[[nodiscard]] std::shared_ptr<Interface> get() const;
private:
const Container &_container;
};
#include "object_wrapper.tpp"
|