summaryrefslogtreecommitdiff
path: root/src/value.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/value.cpp')
-rw-r--r--src/value.cpp20
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_;