diff options
author | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2014-12-19 15:36:41 +0100 |
---|---|---|
committer | Andreas Stöckel <andreas@somweyr.de> | 2014-12-19 15:36:41 +0100 |
commit | 2eda4f5ba1e3ed0577e3804110debf102abc9d43 (patch) | |
tree | f7f823e10d32ebc96aba8d9014a148bd6a6d3a9b /src/core/managed | |
parent | 6fa81636f088654f154534fd939421a5b25d9c5c (diff) | |
parent | 3654efa59547d23b3c27715483999570daedc0b3 (diff) |
Merge branch 'master' of somweyr.de:ousia
Diffstat (limited to 'src/core/managed')
-rw-r--r-- | src/core/managed/ManagedContainer.hpp | 11 |
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!"); + } }; /** |