Index: src/libserializer/SerializableContainer.h =================================================================== diff -u -N -rf3c80778cfee0736195e00274c78040f7908ac5b -r08717141ce5f6926116c298cbc9442094a45bb67 --- src/libserializer/SerializableContainer.h (.../SerializableContainer.h) (revision f3c80778cfee0736195e00274c78040f7908ac5b) +++ src/libserializer/SerializableContainer.h (.../SerializableContainer.h) (revision 08717141ce5f6926116c298cbc9442094a45bb67) @@ -62,6 +62,18 @@ return false; } + bool InsertAt(size_t stIndex, const T& rNewEntry) + { + BOOST_ASSERT(stIndex <= m_vEntries.size()); + if(stIndex <= m_vEntries.size()) + { + m_vEntries.insert(m_vEntries.begin() + stIndex, rNewEntry); + return true; + } + + return false; + } + const T& GetAt(size_t stIndex) const { if(stIndex >= m_vEntries.size()) @@ -70,6 +82,14 @@ return m_vEntries.at(stIndex); } + T& GetAt(size_t stIndex) + { + if(stIndex >= m_vEntries.size()) + throw std::out_of_range("stIndex is out of range"); + + return m_vEntries.at(stIndex); + } + bool RemoveAt(size_t stIndex) { BOOST_ASSERT(stIndex < m_vEntries.size());