diff options
Diffstat (limited to 'src/value.cpp')
| -rw-r--r-- | src/value.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/value.cpp b/src/value.cpp index de173a94c2..fa6018dd5d 100644 --- a/src/value.cpp +++ b/src/value.cpp @@ -369,6 +369,26 @@ value& value::operator[](const char* key) return (*this)[std::string(key)]; } +value& value::at(size_t i) +{ + return dynamic_cast<tag_list&>(*tag_).at(i); +} + +const value& value::at(size_t i) const +{ + return dynamic_cast<const tag_list&>(*tag_).at(i); +} + +value& value::operator[](size_t i) +{ + return dynamic_cast<tag_list&>(*tag_)[i]; +} + +const value& value::operator[](size_t i) const +{ + return dynamic_cast<const tag_list&>(*tag_)[i]; +} + std::unique_ptr<tag>& value::get_ptr() { return tag_; |
