O ile szablony typu is_move_assignable<T>
, is_scalar<T>
, itp. są pomocne i proste do zrozumienie to nie mogę rozgryźć celu istnienia np. iterator_traits<T>
.
Tworząc iteratory tak czy siak trzeba pododawać odpowiednie using
, żeby można było je wykorzystać w algorytmach, więc dlaczego przy delegowaniu tagów używa się
typename iterator_traits< T >::iterator_category
zamiast bezpośrednio
typename T::iterator_category
?
Coś mi umknęło?