summaryrefslogtreecommitdiffstats
path: root/core/config/string.hh
diff options
context:
space:
mode:
authoruntodesu <kirill@untode.su>2025-09-11 13:48:31 +0500
committeruntodesu <kirill@untode.su>2025-09-11 13:48:31 +0500
commitaaed751bf4430bf4b9b30cef532b8753b9f639ce (patch)
tree16bc751c272ba27ad53ec48dbdd3a6d9e6a8d4c2 /core/config/string.hh
parent96bd73ae020ecca1f94698744c77498a89ad19f7 (diff)
downloadvoxelius-aaed751bf4430bf4b9b30cef532b8753b9f639ce.tar.bz2
voxelius-aaed751bf4430bf4b9b30cef532b8753b9f639ce.zip
Replace most of C strings with string_view
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