auto operator*() const noexcept
(1)

Obtain a const reference to the underlying object.

  1. Const accessor

This is provided because you cannot override operator.(). It allows copy_on_write to be used with common transformation techniques, such as boost’s indirect_iterator and transform_iterator.

It does not imply “pointer” semantics.

Return value

A const reference to the underlying object