surcharges de std::iterator_traits
Bonjour,
Je me posais une question : j'utilise pas mal les traits dans le code que je fais.
Quand on regarde l'implémentation de Visual 2005 de la STL, on voit que les iterator_traits sont surchargés sur les const T * et T*, naturellement.
Mais pourquoi font ils des surcharges sur des types comme char, signed char, unsigned char, wchar_t, short, unsigned short, int
avec :
Code:
1 2 3 4 5 6 7
|
typedef _Int_iterator_tag iterator_category;
typedef unsigned int value_type;
typedef unsigned int difference_type;
typedef unsigned int distance_type;
typedef unsigned int * pointer;
typedef unsigned int& reference; |
J'utilise souvent les dérivations de std::iterator<> avec les tags qui vont bien, mais le tag _Int_iterator_tag par exemple, connais pas.
Quelle est l'utilité ?
Sylvain