The counting iterator adaptor implements dereference by returning a reference to the base object. The other operations are implemented by the base ``m_iterator``, as per the inheritance from ``iterator_adaptor``.