#ifndef CPR_INTERFACE_H #define CPR_INTERFACE_H #include #include #include "cpr/cprtypes.h" namespace cpr { class Interface : public StringHolder { public: Interface() = default; // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) Interface(std::string iface) : StringHolder(std::move(iface)) {} // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) Interface(std::string_view iface) : StringHolder(iface) {} // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) Interface(const char* iface) : StringHolder(iface) {} Interface(const char* str, size_t len) : StringHolder(str, len) {} Interface(const std::initializer_list args) : StringHolder(args) {} Interface(const Interface& other) = default; Interface(Interface&& old) noexcept = default; ~Interface() override = default; Interface& operator=(Interface&& old) noexcept = default; Interface& operator=(const Interface& other) = default; }; } // namespace cpr #endif