diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/value.cpp | 27 |
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) |
