1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#pragma once #include <memory> // NOLINTNEXTLINE(cppcoreguidelines-special-member-functions) class IGenericWrapper { public: virtual ~IGenericWrapper() = default; }; template <class Interface> class IWrapper : public IGenericWrapper { public: [[nodiscard]] virtual Interface get() const = 0; };