Преобразовать вложенные циклы C в один индекс повышения?

Я медленно изучаю boostи пытаюсь чтобы найти простой способ преобразовать следующий фрагмент C++:

for(int i=-n;i<n+1;i++) {
  for(int j=-n;j<n+1;j++) {
     for(int k=-n;k<n+1;k++) {
       cout << i << ' ' << j << ' ' << k << endl;
     }
  }
}

В один итератор, который я могу перебирать в цикле. На моем родном языке python(могу ли я так его назвать?) это однострочник с использованием itertools:

itrtools.product(range(-n,n+1),repeat=3)

Полный ответ будет содержать минимальный рабочий пример и ссылку к документам, чтобы я мог RTFM.

5
задан Hooked 1 June 2012 в 14:53
поделиться