Listing 1: Exposing iterators from a class that contains a collection

#include<vector>
#include<iostream>

class SomeClass
{

public:
  typedef std::vector<double>::const_iterator const_iterator;
  
  const_iterator begin()
  { return m_vectNumbers.begin(); }

  const_iterator end()
  { return m_vectNumbers.end(); }

  int size()
  { return m_vectNumbers.size(); }

  // ...

private:
  std::vector<double> m_vectNumbers;

};
— End of Listing —