diff options
Diffstat (limited to 'core/config/string.hh')
| -rw-r--r-- | core/config/string.hh | 19 |
1 files changed, 16 insertions, 3 deletions
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 |
