From aaed751bf4430bf4b9b30cef532b8753b9f639ce Mon Sep 17 00:00:00 2001 From: untodesu Date: Thu, 11 Sep 2025 13:48:31 +0500 Subject: Replace most of C strings with string_view --- core/config/string.hh | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'core/config/string.hh') diff --git a/core/config/string.hh b/core/config/string.hh index 09d14c9..772c330 100644 --- a/core/config/string.hh +++ b/core/config/string.hh @@ -8,15 +8,28 @@ namespace config { class String : public IValue { public: - explicit String(const char* default_value); + explicit String(std::string_view default_value); virtual ~String(void) = default; - virtual void set(const char* value) override; - virtual const char* get(void) const override; + virtual void set(std::string_view value) override; + virtual std::string_view get(void) const override; + + constexpr const std::string& get_value(void) const noexcept; + constexpr const char* c_str(void) const noexcept; private: std::string m_value; }; } // namespace config +constexpr const std::string& config::String::get_value(void) const noexcept +{ + return m_value; +} + +constexpr const char* config::String::c_str(void) const noexcept +{ + return m_value.c_str(); +} + #endif // CORE_CONFIG_STRING_HH -- cgit