diff options
Diffstat (limited to 'src/core/config/boolean.cc')
| -rw-r--r-- | src/core/config/boolean.cc | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/core/config/boolean.cc b/src/core/config/boolean.cc new file mode 100644 index 0000000..45d5a38 --- /dev/null +++ b/src/core/config/boolean.cc @@ -0,0 +1,43 @@ +#include "core/pch.hh" + +#include "core/config/boolean.hh" + +config::Boolean::Boolean(bool default_value) +{ + m_value = default_value; +} + +void config::Boolean::set(std::string_view value) +{ + m_value = from_string(value); +} + +std::string_view config::Boolean::get(void) const +{ + return to_string(m_value); +} + +bool config::Boolean::get_value(void) const +{ + return m_value; +} + +void config::Boolean::set_value(bool value) +{ + m_value = value; +} + +std::string_view config::Boolean::to_string(bool value) +{ + if(value) { + return "true"; + } + else { + return "false"; + } +} + +bool config::Boolean::from_string(std::string_view value) +{ + return value == "true" && value != "false"; +} |
