hash_multiset::difference_type
[!POZNÁMKA]
Toto rozhraní API je zastaralé.Alternativou je unordered_multiset – třída.
Typ se znaménkem, který poskytuje rozdíl mezi dva iterátory, které řeší prvky v rámci stejné hash_multiset.
typedef list<typename _Traits::value_type, typename _Traits::allocator_type>::difference_type difference_type;
Poznámky
difference_type Je typ vrácena po odečtení nebo zvyšování hodnoty pomocí iterátorů kontejneru.difference_type Se obvykle používá k vyjádření počtu prvků v rozsahu [_First, _Last) mezi iterátory, _First a _Last, obsahuje prvek, který odkazuje na _First a rozsah prvků až do, ale ne včetně prvek odkazuje _Last.
Všimněte si, že ačkoli difference_type je k dispozici pro všechny u iterátorů, které splňují požadavky vstupní iterátor obsahuje třídu iterátorů obousměrné podporovaných vratné obaly, jako je například sada.Odčítání mezi iterátorů je podporována pouze u iterátorů náhodný přístup poskytuje například vektorové nebo deque kontejneru náhodný přístup.
V aplikaci Visual C++ .NET 2003, členové hlavičkových souborů tříd <hash_map> a <hash_set> již nejsou v oboru názvů std, ale byly přesunuty do oboru názvů stdext.Další informace naleznete v tématu Obor názvů stdext.
Příklad
// 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;
}
Požadavky
Záhlaví:<hash_set>
Obor názvů: stdext