From 3bf8cd98635d57e3c6d132bb3d9ffcc6eceab51e Mon Sep 17 00:00:00 2001 From: ljfa-ag Date: Fri, 3 Jul 2015 11:35:23 +0200 Subject: Implement cast and assignment of string for value --- src/value.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src') diff --git a/src/value.cpp b/src/value.cpp index f062e08a09..1f8e522e83 100644 --- a/src/value.cpp +++ b/src/value.cpp @@ -34,6 +34,22 @@ value& value::operator=(tag&& t) return *this; } +value& value::operator=(const std::string& str) +{ + return *this = std::move(std::string(str)); +} + +value& value::operator=(std::string&& str) +{ + dynamic_cast(*tag_).set(std::move(str)); + return *this; +} + +value::operator const std::string&() const +{ + return dynamic_cast(*tag_).get(); +} + value::operator bool() const { return tag_ != nullptr; -- cgit 0.0.5-2-1-g0f52