#pragma once #include #include /// \private struct IkarusTextValue final : IkarusValue { public: explicit IkarusTextValue(std::string value): IkarusValue{this}, _value(std::move(value)) {} IkarusTextValue(IkarusTextValue const&) = default; IkarusTextValue(IkarusTextValue&&) noexcept = default; IkarusTextValue& operator=(IkarusTextValue const&) = default; IkarusTextValue& operator=(IkarusTextValue&&) noexcept = default; ~IkarusTextValue() override = default; public: [[nodiscard]] std::string_view get_value() const noexcept { return _value; } void set_value(std::string_view value) { _value = value; } private: std::string _value; };