Здравствуйте, Valus, Вы писали:
V>Как написать алгоритм в таком-же стиле, но чтобы была возможность самому устанавливать размер контейнера — например алгоритм формирования некого массива точек
V>V>void gen_points(/*что тут писать?*/,int I);// I - число точек
V>
V>Т.е. как определить внутри алгоритма сколько точек записывать через выходной итератор в контейнер пользователь.
V>ЗЫЖ не сильно расплывчато спросил?
Сильно

Непонятно, что требуется. Что значит "как определить внутри алгоритма сколько точек записывать через выходной итератор в контейнер пользователь"? Параметр I разве не это указывает? А определение функции может выглядеть, например, так:
template <typename C>
void gen_points(C &container, size_t num)
{
back_insert_iterator<C> i(back_inserter(container));
for( ; num; --num, ++i)
{
*i = /* генерация точки */
} // for
}
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>