summaryrefslogtreecommitdiff
path: root/src/core/managed/ManagedContainer.hpp
diff options
context:
space:
mode:
authorAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2014-12-19 15:36:41 +0100
committerAndreas Stöckel <andreas@somweyr.de>2014-12-19 15:36:41 +0100
commit2eda4f5ba1e3ed0577e3804110debf102abc9d43 (patch)
treef7f823e10d32ebc96aba8d9014a148bd6a6d3a9b /src/core/managed/ManagedContainer.hpp
parent6fa81636f088654f154534fd939421a5b25d9c5c (diff)
parent3654efa59547d23b3c27715483999570daedc0b3 (diff)
Merge branch 'master' of somweyr.de:ousia
Diffstat (limited to 'src/core/managed/ManagedContainer.hpp')
-rw-r--r--src/core/managed/ManagedContainer.hpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/core/managed/ManagedContainer.hpp b/src/core/managed/ManagedContainer.hpp
index 19bff3f..6bf1915 100644
--- a/src/core/managed/ManagedContainer.hpp
+++ b/src/core/managed/ManagedContainer.hpp
@@ -32,6 +32,7 @@
#include <unordered_set>
#include <vector>
#include <map>
+#include <stdexcept>
#include <type_traits>
#include "Manager.hpp"
@@ -496,6 +497,16 @@ public:
}
Base::c.pop_back();
}
+
+ Rooted<T> operator[](int i) const {
+ for (const_iterator it = Base::cbegin(); it != Base::cend(); it++) {
+ if (i == 0) {
+ return Rooted<T>(*it);
+ }
+ i--;
+ }
+ throw std::out_of_range(std::to_string(i) + " is out of range!");
+ }
};
/**