summaryrefslogtreecommitdiff
path: root/src/value.cpp
diff options
context:
space:
mode:
authorljfa-ag <ljfa-ag@web.de>2015-07-03 16:43:40 +0200
committerljfa-ag <ljfa-ag@web.de>2015-07-03 16:43:40 +0200
commit33c26a33d1cf30f36c1d9c641f6ffc4dd77a5861 (patch)
tree0ead12e50f2c3f908b09dd8345a9b4259b5cc7be /src/value.cpp
parenta511f7fa197fa417646fa9852bf245b45fa17119 (diff)
downloadProject-Tick-33c26a33d1cf30f36c1d9c641f6ffc4dd77a5861.tar.gz
Project-Tick-33c26a33d1cf30f36c1d9c641f6ffc4dd77a5861.zip
Create and implement get/set with tag for value
Diffstat (limited to 'src/value.cpp')
-rw-r--r--src/value.cpp27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/value.cpp b/src/value.cpp
index 77358a9182..90a67b79f3 100644
--- a/src/value.cpp
+++ b/src/value.cpp
@@ -30,10 +30,35 @@ value::value(std::unique_ptr<tag>&& t):
value& value::operator=(tag&& t)
{
- tag_->assign(std::move(t));
+ set(std::move(t));
return *this;
}
+void value::set(tag&& t)
+{
+ tag_->assign(std::move(t));
+}
+
+value::operator tag&()
+{
+ return get();
+}
+
+value::operator const tag&() const
+{
+ return get();
+}
+
+tag& value::get()
+{
+ return *tag_;
+}
+
+const tag& value::get() const
+{
+ return *tag_;
+}
+
//Primitive assignment
//FIXME: Make this less copypaste!
value& value::operator=(int8_t val)