summaryrefslogtreecommitdiff
path: root/src/value.cpp
diff options
context:
space:
mode:
authorljfa-ag <ljfa-ag@web.de>2015-07-02 09:04:06 +0200
committerljfa-ag <ljfa-ag@web.de>2015-07-02 09:04:06 +0200
commitba86b862d679b358c52aa925044365c8d6057e08 (patch)
tree97179b40a97d70c352cc55301e6460e020f1c009 /src/value.cpp
parent452a495e3c8cc09525dca777f0ead6f24b904a1c (diff)
downloadProject-Tick-ba86b862d679b358c52aa925044365c8d6057e08.tar.gz
Project-Tick-ba86b862d679b358c52aa925044365c8d6057e08.zip
Add get/set_ptr and operator bool to value
Diffstat (limited to 'src/value.cpp')
-rw-r--r--src/value.cpp24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/value.cpp b/src/value.cpp
index a5f8e3c894..f062e08a09 100644
--- a/src/value.cpp
+++ b/src/value.cpp
@@ -28,16 +28,30 @@ value::value(std::unique_ptr<tag>&& t):
tag_(std::move(t))
{}
-value& value::operator=(std::unique_ptr<tag>&& t)
+value& value::operator=(tag&& t)
{
- tag_ = std::move(t);
+ tag_->assign(std::move(t));
return *this;
}
-value& value::operator=(tag&& t)
+value::operator bool() const
{
- tag_->assign(std::move(t));
- return *this;
+ return tag_ != nullptr;
+}
+
+std::unique_ptr<tag>& value::get_ptr()
+{
+ return tag_;
+}
+
+const std::unique_ptr<tag>& value::get_ptr() const
+{
+ return tag_;
+}
+
+void value::set_ptr(std::unique_ptr<tag>&& t)
+{
+ tag_ = std::move(t);
}
tag_type value::get_type() const