On Thu, Aug 21, 2014 at 12:34 AM, Eric Niebler <eniebler@boost.org> wrote:
[...] What Boost.Range needs is an adaptor that flattens a range of ranges into a range.

FWIW, for a different perspective, this is what XPath2 implicitly does to its sequences, because of rule#4 below. When switching from XPath1 to XPath2, this is something that stuck in my mind, and worked surprisingly well (for me). --DD

from http://en.wikipedia.org/wiki/XPath_2.0 :
1) Every value in XPath 2.0 is a sequence of items.
2) The items may be nodes or atomic values.
3) An individual node or atomic value is considered to be a sequence of length one.
4) Sequences may not be nested