(also see Is there a good way not to hand-write all twelve required Container functions for a custom type in C++? )
For a class such as
namespa
There is a standard which describes what your class interfaces should look like if you want them to be congruent with the STL. C++ has this notion of 'concepts' which pin down the requirements for a given class to be a sufficient implementation of a concept. This almost became a language feature in c++11.
A concept you may be interested in is the Container concept. As you can see, in order to meet the requirements of the Container concept, you need begin, cbegin, end, and cend as member functions (among other things).
Since it looks like you're storing your data in an array, you might also be interested in SequenceContainer.