A range iterator provides incremental access to a sequence of increasing ranges. Iterators with virtual member functions have to be used when they are combined dynamically, and the actual types hence cannot be specified as template arguments.
Requires