summaryrefslogtreecommitdiff
path: root/src/value.cpp
diff options
context:
space:
mode:
authorljfa-ag <ljfa-ag@web.de>2015-07-03 11:35:23 +0200
committerljfa-ag <ljfa-ag@web.de>2015-07-03 11:35:23 +0200
commit3bf8cd98635d57e3c6d132bb3d9ffcc6eceab51e (patch)
tree6dbbd45b3a6dec6c97c2e33d45dd36b7e8d321e9 /src/value.cpp
parent56da3e25fa303ce509e5953db4cdd8a7985cf2c5 (diff)
downloadProject-Tick-3bf8cd98635d57e3c6d132bb3d9ffcc6eceab51e.tar.gz
Project-Tick-3bf8cd98635d57e3c6d132bb3d9ffcc6eceab51e.zip
Implement cast and assignment of string for value
Diffstat (limited to 'src/value.cpp')
-rw-r--r--src/value.cpp16
1 files changed, 16 insertions, 0 deletions
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_string&>(*tag_).set(std::move(str));
+ return *this;
+}
+
+value::operator const std::string&() const
+{
+ return dynamic_cast<tag_string&>(*tag_).get();
+}
+
value::operator bool() const
{
return tag_ != nullptr;