Я знаю, как заполнить std::vector нетривиальными начальными значениями, например. порядковые номера:
void IndexArray( unsigned int length, std::vector<unsigned int>& v )
{
v.resize(length);
for ( unsigned int i = 0; i < length; ++i )
{
v[i] = i;
}
}
Но это цикл for. Есть ли элегантный способ сделать это с меньшим количеством строк кода с использованием функций stl (и не с помощью Boost)?