iterator_traits std::iterator_traitsはイテレータの型情報やカテゴリを表現する型特性クラスです。 #include <iterator> template<class Iterator> struct iterator_traits { using difference_type = typename Iterator::difference_type; // 減算演算時の型 using value_type = typename Iterator::value_type; // 値型 using pointer = typename Iterator::pointer; // ポインタ型 using reference = typename Iterator::reference; // 参照型 using iterator_category = typ