Examples of Views are:
type that wraps a pair of iterators.
type that holds its elements by shared_ptr
and shares ownership with all its copies.
type that generates its elements on demand.
are not views since
copying the container copies the elements,
which cannot be done in constant time.
— end example