クラス テンプレートは、std::iterator_traits
ネストされた 5 つの型を定義します: iterator_category
、、、および。libc++ と libstdc++ の両方のヘッダーのソースを参照すると、との多くの使用が見られますが、 (内部)の場合は 1 つだけで、の場合はありません。value_type
difference_type
pointer
reference
<algorithm>
value_type
difference_type
iterator_category
reference
std::iter_swap
pointer
私のアプリケーションは、手作りのプロキシ イテレータとプロキシ参照のペアを使用しています。iterator_facade
参照型をデフォルトから任意の型に構成できるBoostの使用に移行したいのですが、デフォルトT&
のポインタ型にはそうではありませんT*
。pointer
ネストされた型の奥深くに隠された使用法に噛まれるのを避けたいです。
注operator->
: イテレータは、ネストされたメンバーのない組み込み型のプロキシであるため、 (戻り値の型が となる) との互換性は必要ありませんpointer
。
質問: 標準ライブラリには、ネストされた型のpointer
内部にどのようなユース ケースがありiterator_traits
ますか?