aboutsummaryrefslogtreecommitdiff
path: root/src/DI
diff options
context:
space:
mode:
Diffstat (limited to 'src/DI')
-rw-r--r--src/DI/auto_wirable.hpp9
-rw-r--r--src/DI/container.hpp2
-rw-r--r--src/DI/object_type.hpp10
3 files changed, 4 insertions, 17 deletions
diff --git a/src/DI/auto_wirable.hpp b/src/DI/auto_wirable.hpp
index a903242..178158a 100644
--- a/src/DI/auto_wirable.hpp
+++ b/src/DI/auto_wirable.hpp
@@ -4,15 +4,8 @@
#include <memory>
-// NOLINTNEXTLINE(cppcoreguidelines-special-member-functions)
-class IGenericAutoWirable
-{
-public:
- virtual ~IGenericAutoWirable() noexcept = default;
-};
-
template <class Interface>
-class IAutoWirable : public IGenericAutoWirable
+class IAutoWirable
{
public:
static Interface resolve() noexcept;
diff --git a/src/DI/container.hpp b/src/DI/container.hpp
index 974780a..2efb265 100644
--- a/src/DI/container.hpp
+++ b/src/DI/container.hpp
@@ -34,7 +34,7 @@ public:
template <class Interface>
BindingBuilder<Interface> bind() noexcept;
- template <class Interface, class = std::enable_if_t<std::is_class_v<Interface>>>
+ template <class Interface, class = std::enable_if_t<std::is_abstract_v<Interface>>>
std::shared_ptr<Interface> get() const noexcept;
template <typename Interface, typename = std::enable_if_t<is_func_v<Interface>>>
diff --git a/src/DI/object_type.hpp b/src/DI/object_type.hpp
index 84bb287..6b27682 100644
--- a/src/DI/object_type.hpp
+++ b/src/DI/object_type.hpp
@@ -25,14 +25,8 @@ public:
ObjectType() noexcept : BaseObjectType(typeid(Object)) {}
};
-class IObjectTypeHasher
+class ObjectTypeHasher
{
public:
- virtual std::size_t operator()(const BaseObjectType &object_type) const noexcept = 0;
-};
-
-class ObjectTypeHasher : public IObjectTypeHasher
-{
-public:
- std::size_t operator()(const BaseObjectType &object_type) const noexcept override;
+ std::size_t operator()(const BaseObjectType &object_type) const noexcept;
};