
Good afternoon, Would there be interest in adding a specialized iterator, called reproduction_iterator, that allows specifying a single element which is iterated n-times. Example: const std::vector<int> values = boost::assign::list_of(1)(2)(3)(5); const int c = 3; std::vector<int> result; std::transform( extboost::make_reproduction_iterator(c), extboost::make_reproduction_iterator(c, values.size()), values.begin(), std::back_inserter(result), std::multiplies<int>() ); // result contains 3, 6, 9, 15 The rationale for implementing the iterator is to provide a mechanism for the cheap iteration over a 'sequence' of equal objects. This is used (in my case) for adaption of functions that otherwise take two ranges and where I can bind one range to a single object. In the example above one can achieve the same effect by using a binder and std::transform that takes a single range. This is IMHO not always possible. 'reproduction_iterator' is implemented as random access iterator using boost::iterator_facade. Best regards, Christoph