Forma canônica de definir o iterador de saída direta

Como se definem iteradores forward-output em C ++ 11 de maneira canônica?

De acordo com o padrão, um forward_iterator é apenas um input_iterator. Então o correspondenteforward_iterator_tag só se estendeinput_iterator_tag. Se estamos usandostd::iterator Para definir nossos iteradores, que tag usamos para um iterador de saída-frente?

É canônico definir uma tag privada que estenda os doisforward_iterator_tag eoutput_iterator_tag ou há uma solução melhor?

questionAnswers(1)

yourAnswerToTheQuestion