hash_set::difference_type
[!NOTA]
Questo API è obsoleto.L'alternativa consiste unordered_set Class.
Un tipo interi con segno che può essere utilizzato per rappresentare il numero di elementi di un hash_set in un intervallo tra elementi indicato dagli iteratori.
typedef list<typename Traits::value_type, typename Traits::allocator_type>::difference_type difference_type;
Note
difference_type è il tipo restituito quando viene sottratto o incrementando con gli iteratori del contenitore.difference_type in genere utilizzato per rappresentare il numero di elementi nell'intervallo [_First, _Last) tra gli iteratori _First e _Last, include l'elemento fa riferimento da _First e l'intervallo degli elementi fino a, ma a esclusione di, l'elemento fa riferimento da _Last.
Si noti che anche se difference_type sia disponibile per tutti gli iteratori che soddisfano le esigenze di un iteratore di input, che include la classe di iteratori bidirezionali supportato dai contenitori reversibili come set, sottrazione fra gli iteratori solo supportato dagli iteratori di accesso casuale forniti da un contenitore casuale, ad esempio il vettore o deque.
In Visual C++ .NET 2003, i membri dei file di intestazione <hash_set> e <hash_map> non sono più nello spazio dei nomi di deviazione standard, ma sono stati spostati nello spazio dei nomi di stdext.Per ulteriori informazioni, vedere lo spazio dei nomi stdext.
Esempio
// hash_set_diff_type.cpp
// compile with: /EHsc
#include <iostream>
#include <hash_set>
#include <algorithm>
int main( )
{
using namespace std;
using namespace stdext;
hash_set <int> hs1;
hash_set <int>::iterator hs1_Iter, hs1_bIter, hs1_eIter;
hs1.insert( 20 );
hs1.insert( 10 );
hs1.insert( 20 ); // Won't insert as hash_set elements are unique
hs1_bIter = hs1.begin( );
hs1_eIter = hs1.end( );
hash_set <int>::difference_type df_typ5, df_typ10, df_typ20;
df_typ5 = count( hs1_bIter, hs1_eIter, 5 );
df_typ10 = count( hs1_bIter, hs1_eIter, 10 );
df_typ20 = count( hs1_bIter, hs1_eIter, 20 );
// The keys, and hence the elements, of a hash_set are unique,
// so there is at most one of a given value
cout << "The number '5' occurs " << df_typ5
<< " times in hash_set hs1.\n";
cout << "The number '10' occurs " << df_typ10
<< " times in hash_set hs1.\n";
cout << "The number '20' occurs " << df_typ20
<< " times in hash_set hs1.\n";
// Count the number of elements in a hash_set
hash_set <int>::difference_type df_count = 0;
hs1_Iter = hs1.begin( );
while ( hs1_Iter != hs1_eIter)
{
df_count++;
hs1_Iter++;
}
cout << "The number of elements in the hash_set hs1 is: "
<< df_count << "." << endl;
}
Requisiti
intestazione: <hash_set>
Stdext diSpazio dei nomi: