From 33c26a33d1cf30f36c1d9c641f6ffc4dd77a5861 Mon Sep 17 00:00:00 2001 From: ljfa-ag Date: Fri, 3 Jul 2015 16:43:40 +0200 Subject: Create and implement get/set with tag for value --- src/value.cpp | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'src/value.cpp') 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&& 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) -- cgit 0.0.5-2-1-g0f52