hash_multiset::difference_type
Notes
Cette API est obsolète.L'alternative est unordered_multiset, classe.
Un type entier signé qui fournit la différence entre deux itérateurs qui adressent les éléments du même hash_multiset.
typedef list<typename _Traits::value_type, typename _Traits::allocator_type>::difference_type difference_type;
Notes
Le difference_type est le type retourné lorsque l'on incrémente ou décrémente au sein des itérateurs du conteneur. Le difference_type est généralement utilisé pour représenter le nombre d'éléments dans la plage [_First, _Last) entre les itérateurs_First et _Last, inclut l'élément référencé par _First et la plage des éléments jusqu'à l'élément référencé par _Last, non inclus.
Notez que même si difference_type est disponible pour tous les itérateurs qui répondent aux besoins d'un itérateur d'entrée, ce qui inclut la classe des itérateurs bidirectionnels pris en charge par les conteneurs réversibles tels que le jeu. La soustraction entre les itérateurs est prise en charge par les itérateurs à accès aléatoire fournis par un conteneur à accès aléatoire tel qu'un vecteur ou un deque.
Dans Visual C++ .NET 2003, les membres des fichiers d'en-tête <hash_map> et de <hash_set> ne sont plus dans l'espace de noms standard, mais ont été plutôt déplacés dans l'espace de noms de stdext. Pour plus d'informations, consultez The stdext Namespace.
Exemple
// hash_multiset_diff_type.cpp
// compile with: /EHsc
#include <iostream>
#include <hash_set>
#include <algorithm>
int main( )
{
using namespace std;
using namespace stdext;
hash_multiset <int> hms1;
hash_multiset <int>::iterator hms1_Iter, hms1_bIter, hms1_eIter;
hms1.insert( 20 );
hms1.insert( 10 );
// hash_multiset elements need not be unique
hms1.insert( 20 );
hms1_bIter = hms1.begin( );
hms1_eIter = hms1.end( );
hash_multiset <int>::difference_type df_typ5, df_typ10,
df_typ20;
df_typ5 = count( hms1_bIter, hms1_eIter, 5 );
df_typ10 = count( hms1_bIter, hms1_eIter, 10 );
df_typ20 = count( hms1_bIter, hms1_eIter, 20 );
// The keys & hence the elements of a hash_multiset
// need not be unique and may occur multiple times
cout << "The number '5' occurs " << df_typ5
<< " times in hash_multiset hms1.\n";
cout << "The number '10' occurs " << df_typ10
<< " times in hash_multiset hms1.\n";
cout << "The number '20' occurs " << df_typ20
<< " times in hash_multiset hms1.\n";
// Count the number of elements in a hash_multiset
hash_multiset <int>::difference_type df_count = 0;
hms1_Iter = hms1.begin( );
while ( hms1_Iter != hms1_eIter)
{
df_count++;
hms1_Iter++;
}
cout << "The number of elements in the hash_multiset hms1 is "
<< df_count << "." << endl;
}
Configuration requise
Header: <hash_set>
Espace de noms : stdext