diff options
| author | ljfa-ag <ljfa-ag@web.de> | 2015-07-03 11:35:23 +0200 |
|---|---|---|
| committer | ljfa-ag <ljfa-ag@web.de> | 2015-07-03 11:35:23 +0200 |
| commit | 3bf8cd98635d57e3c6d132bb3d9ffcc6eceab51e (patch) | |
| tree | 6dbbd45b3a6dec6c97c2e33d45dd36b7e8d321e9 /src/value.cpp | |
| parent | 56da3e25fa303ce509e5953db4cdd8a7985cf2c5 (diff) | |
| download | Project-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.cpp | 16 |
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; |
