イテレーターって何で継承関係ではないんですか?
たとえば前方反復子は入力反復子の操作を全て持ってるわけだから
継承すればいいと思います。
イテレータータグ(iterator_category)で型の区別はできますが。