Added iterator access to DynamicState<T>

This commit is contained in:
Joakim Hove 2018-02-06 19:12:50 +01:00
parent 494dda28a8
commit 40fd922b6e
2 changed files with 20 additions and 0 deletions

View File

@ -57,6 +57,8 @@ template< class T >
class DynamicState {
public:
typedef typename std::vector< T >::iterator iterator;
DynamicState( const TimeMap& timeMap, T initial ) :
m_data( timeMap.size(), initial ),
initial_range( timeMap.size() )
@ -121,6 +123,17 @@ class DynamicState {
return std::distance( m_data.begin() , iter );
}
iterator begin() {
return this->m_data.begin();
}
iterator end() {
return this->m_data.end();
}
private:
std::vector< T > m_data;
size_t initial_range;

View File

@ -265,4 +265,11 @@ BOOST_AUTO_TEST_CASE( update_elm ) {
BOOST_CHECK_EQUAL( state[2],137 );
BOOST_CHECK_EQUAL( state[3],88 );
BOOST_CHECK_EQUAL( state[4],137 );
for (auto& v : state)
v += 2;
BOOST_CHECK_EQUAL( state[2],139 );
BOOST_CHECK_EQUAL( state[3],90 );
BOOST_CHECK_EQUAL( state[4],139 );
}