Сглаживающий итератор

Существует ли какая-либо существующая реализация итератора (возможно, в надстройке), которая реализует своего рода уплощающий итератор?

Например:

unordered_set<vector<int> > s;

s.insert(vector<int>());
s.insert({1,2,3,4,5});
s.insert({6,7,8});
s.insert({9,10,11,12});

flattening_iterator<unordered_set<vector<int> >::iterator> it( ... ), end( ... );
for(; it != end; ++it)
{
    cout << *it << endl;
}
//would print the numbers 1 through 12

Ответы на вопрос(4)

Ваш ответ на вопрос