iterator
入力イテレータ
コピーコンストラクタ
operator=()
operator*()
operator++()
operator++(int)
operator==()
operator!=()
非再現性
出力イテレータ
コピーコンストラクタ
operator=()
operator*()
operator++()
operator++(int)
非再現性
双方向イテレータ
operator--()
operator--(int)
ランダムアクセスイテレータ
operator+(int)
operator-(int)
operator+=(int)
operator-=(int)
operator-(iterator)
operator<(iterator)
operator>(iterator)
operator<=(iterator)
operator>=(iterator)
operator[](int)
イテレータクラスを自作する時はstd::iteratorを継承する.
template<typename ValueType> struct my_input_iterator : std::iterator<std::input_iterator_tag, ValueType> { };