RubyのイテレータみたいなことをC++のイテレータ使って
実現したいんだけどどうすればいいでしょう。

たとえば、aryを適当な配列だとして、その順列すべてを表示するのを
for(it = ary.permutaion_start(); it != ary.permutaion_end(); it++) {
cout << *it << endl;
}
のように書きたいんです。
it++ の実装をどう言うふうにしたらいいかがさっぱり。

参考になるサイトがあったら教えてください。