summaryrefslogtreecommitdiffstats
path: root/core/config/string.hh
diff options
context:
space:
mode:
Diffstat (limited to 'core/config/string.hh')
-rw-r--r--core/config/string.hh19
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