1.コンテナの先頭アドレスを返す特別な演算子 beginof を作る。
2.コンテナの終端アドレスを返す特別な演算子 endof を作る。
3.要素列の次の要素のアドレスを返す特別な演算子 nextof を作る。
4.上記3つの演算子をユーザー定義可能にする。
5.beginof, endof, nextof の3つの演算子が定義されているオブジェクトは range-based for に渡せるものとする^^

Container Obj;
for ( beginof Obj; endof Obj; nextof Obj ) { ...

のような記述もあり^^