diff options
Diffstat (limited to 'src/DI')
-rw-r--r-- | src/DI/auto_wirable.hpp | 9 | ||||
-rw-r--r-- | src/DI/container.hpp | 2 | ||||
-rw-r--r-- | src/DI/object_type.hpp | 10 |
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; }; |