52c52
< void valid(int idx)
---
> void valid(int idx) const
192c192,195
< T *access(int idx)
---
> protected:
> //Calculate the index into this->index for element at position idx
> //relative to now
> inline int calculateVectorIndex(int idx) const
203a207,214
> return vector_index;
> }
>
> public:
> T *access(int idx)
> {
> int vector_index = calculateVectorIndex(idx);
>
209,210c220
< //Need more complex math here to calculate index.
< valid(idx);
---
> int vector_index = calculateVectorIndex(idx);
212,218d221
< int vector_index = idx + base;
< if (vector_index >= (int)size) {
< vector_index -= size;
< } else if (vector_index < 0) {
< vector_index += size;
< }
<
221a225,231
> const T &operator[] (int idx) const
> {
> int vector_index = calculateVectorIndex(idx);
>
> return reinterpret_cast<const T &>(*index[vector_index]);
> }
>