7

クラス テンプレートは、std::iterator_traitsネストされた 5 つの型を定義します: iterator_category、、、および。libc++ と libstdc++ の両方のヘッダーのソースを参照すると、との多くの使用が見られますが、 (内部)の場合は 1 つだけで、の場合はありません。value_typedifference_typepointerreference<algorithm>value_typedifference_typeiterator_categoryreferencestd::iter_swappointer

私のアプリケーションは、手作りのプロキシ イテレータとプロキシ参照のペアを使用しています。iterator_facade参照型をデフォルトから任意の型に構成できるBoostの使用に移行したいのですが、デフォルトT&のポインタ型にはそうではありませんT*pointerネストされた型の奥深くに隠された使用法に噛まれるのを避けたいです。

operator->: イテレータは、ネストされたメンバーのない組み込み型のプロキシであるため、 (戻り値の型が となる) との互換性は必要ありませんpointer

質問: 標準ライブラリには、ネストされた型のpointer内部にどのようなユース ケースがありiterator_traitsますか?

4

1 に答える 1