STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Namespaces | Classes | Functions
stdext Namespace Reference

Namespaces

 allocators
 
 cvt
 
 threads
 

Classes

class  _Hmap_traits
 
class  _Hset_traits
 
class  hash_compare
 
class  hash_map
 
class  hash_multimap
 
class  hash_multiset
 
class  hash_set
 

Functions

template<class _Kty , class _Ty , class _Tr , class _Alloc >
void swap (hash_map< _Kty, _Ty, _Tr, _Alloc > &_Left, hash_map< _Kty, _Ty, _Tr, _Alloc > &_Right)
 
template<class _Kty , class _Ty , class _Tr , class _Alloc >
bool operator== (const hash_map< _Kty, _Ty, _Tr, _Alloc > &_Left, const hash_map< _Kty, _Ty, _Tr, _Alloc > &_Right)
 
template<class _Kty , class _Ty , class _Tr , class _Alloc >
bool operator!= (const hash_map< _Kty, _Ty, _Tr, _Alloc > &_Left, const hash_map< _Kty, _Ty, _Tr, _Alloc > &_Right)
 
template<class _Kty , class _Ty , class _Tr , class _Alloc >
void swap (hash_multimap< _Kty, _Ty, _Tr, _Alloc > &_Left, hash_multimap< _Kty, _Ty, _Tr, _Alloc > &_Right)
 
template<class _Kty , class _Ty , class _Tr , class _Alloc >
bool operator== (const hash_multimap< _Kty, _Ty, _Tr, _Alloc > &_Left, const hash_multimap< _Kty, _Ty, _Tr, _Alloc > &_Right)
 
template<class _Kty , class _Ty , class _Tr , class _Alloc >
bool operator!= (const hash_multimap< _Kty, _Ty, _Tr, _Alloc > &_Left, const hash_multimap< _Kty, _Ty, _Tr, _Alloc > &_Right)
 
template<class _Kty , class _Tr , class _Alloc >
void swap (hash_set< _Kty, _Tr, _Alloc > &_Left, hash_set< _Kty, _Tr, _Alloc > &_Right)
 
template<class _Kty , class _Tr , class _Alloc >
bool operator== (const hash_set< _Kty, _Tr, _Alloc > &_Left, const hash_set< _Kty, _Tr, _Alloc > &_Right)
 
template<class _Kty , class _Tr , class _Alloc >
bool operator!= (const hash_set< _Kty, _Tr, _Alloc > &_Left, const hash_set< _Kty, _Tr, _Alloc > &_Right)
 
template<class _Kty , class _Tr , class _Alloc >
void swap (hash_multiset< _Kty, _Tr, _Alloc > &_Left, hash_multiset< _Kty, _Tr, _Alloc > &_Right)
 
template<class _Kty , class _Tr , class _Alloc >
bool operator== (const hash_multiset< _Kty, _Tr, _Alloc > &_Left, const hash_multiset< _Kty, _Tr, _Alloc > &_Right)
 
template<class _Kty , class _Tr , class _Alloc >
bool operator!= (const hash_multiset< _Kty, _Tr, _Alloc > &_Left, const hash_multiset< _Kty, _Tr, _Alloc > &_Right)
 
template<class _Kty >
size_t hash_value (const _Kty &_Keyval)
 
template<class _Elem , class _Traits , class _Alloc >
size_t hash_value (const basic_string< _Elem, _Traits, _Alloc > &_Str)
 
size_t hash_value (_In_z_ const char *_Str)
 
size_t hash_value (_In_z_ const wchar_t *_Str)
 

Function Documentation

template<class _Kty >
size_t stdext::hash_value ( const _Kty &  _Keyval)
inline
28  { // hash _Keyval to size_t value one-to-one
29  return ((size_t)_Keyval ^ _HASH_SEED);
30  }
#define _HASH_SEED
Definition: xhash:24
template<class _Elem , class _Traits , class _Alloc >
size_t stdext::hash_value ( const basic_string< _Elem, _Traits, _Alloc > &  _Str)
inline
36  { // hash string to size_t value
37  return (_STD _Hash_seq((const unsigned char *)_Str.c_str(),
38  _Str.size() * sizeof (_Elem)));
39  }
_STD_BEGIN size_t _Hash_seq(const unsigned char *_First, size_t _Count)
Definition: xstddef:335
const _Elem * c_str() const _NOEXCEPT
Definition: xstring:1741
size_type size() const _NOEXCEPT
Definition: xstring:1763
size_t stdext::hash_value ( _In_z_ const char *  _Str)
inline
42  { // hash NTBS to size_t value
43  return (_STD _Hash_seq((const unsigned char *)_Str,
44  _CSTD strlen(_Str)));
45  }
_STD_BEGIN size_t _Hash_seq(const unsigned char *_First, size_t _Count)
Definition: xstddef:335
#define _CSTD
Definition: yvals.h:570
size_t stdext::hash_value ( _In_z_ const wchar_t _Str)
inline
48  { // hash NTWCS to size_t value
49  return (_STD _Hash_seq((const unsigned char *)_Str,
50  _CSTD wcslen(_Str) * sizeof (wchar_t)));
51  }
_STD_BEGIN size_t _Hash_seq(const unsigned char *_First, size_t _Count)
Definition: xstddef:335
#define _CSTD
Definition: yvals.h:570
template<class _Kty , class _Tr , class _Alloc >
bool stdext::operator!= ( const hash_set< _Kty, _Tr, _Alloc > &  _Left,
const hash_set< _Kty, _Tr, _Alloc > &  _Right 
)
inline
274  { // test for hash_set inequality
275  return (!(_Left == _Right));
276  }
template<class _Kty , class _Ty , class _Tr , class _Alloc >
bool stdext::operator!= ( const hash_map< _Kty, _Ty, _Tr, _Alloc > &  _Left,
const hash_map< _Kty, _Ty, _Tr, _Alloc > &  _Right 
)
inline
355  { // test for hash_map inequality
356  return (!(_Left == _Right));
357  }
template<class _Kty , class _Tr , class _Alloc >
bool stdext::operator!= ( const hash_multiset< _Kty, _Tr, _Alloc > &  _Left,
const hash_multiset< _Kty, _Tr, _Alloc > &  _Right 
)
inline
470  { // test for hash_multiset inequality
471  return (!(_Left == _Right));
472  }
template<class _Kty , class _Ty , class _Tr , class _Alloc >
bool stdext::operator!= ( const hash_multimap< _Kty, _Ty, _Tr, _Alloc > &  _Left,
const hash_multimap< _Kty, _Ty, _Tr, _Alloc > &  _Right 
)
inline
573  { // test for hash_multimap inequality
574  return (!(_Left == _Right));
575  }
template<class _Kty , class _Tr , class _Alloc >
bool stdext::operator== ( const hash_set< _Kty, _Tr, _Alloc > &  _Left,
const hash_set< _Kty, _Tr, _Alloc > &  _Right 
)
inline
264  { // test for hash_set equality
265  return (_STD _Hash_equal(_Left, _Right));
266  }
bool _Hash_equal(const _Hash< _Traits > &_Left, const _Hash< _Traits > &_Right)
Definition: xhash:958
template<class _Kty , class _Ty , class _Tr , class _Alloc >
bool stdext::operator== ( const hash_map< _Kty, _Ty, _Tr, _Alloc > &  _Left,
const hash_map< _Kty, _Ty, _Tr, _Alloc > &  _Right 
)
inline
344  { // test for hash_map equality
345  return (_STD _Hash_equal(_Left, _Right));
346  }
bool _Hash_equal(const _Hash< _Traits > &_Left, const _Hash< _Traits > &_Right)
Definition: xhash:958
template<class _Kty , class _Tr , class _Alloc >
bool stdext::operator== ( const hash_multiset< _Kty, _Tr, _Alloc > &  _Left,
const hash_multiset< _Kty, _Tr, _Alloc > &  _Right 
)
inline
460  { // test for hash_multiset equality
461  return (_STD _Hash_equal(_Left, _Right));
462  }
bool _Hash_equal(const _Hash< _Traits > &_Left, const _Hash< _Traits > &_Right)
Definition: xhash:958
template<class _Kty , class _Ty , class _Tr , class _Alloc >
bool stdext::operator== ( const hash_multimap< _Kty, _Ty, _Tr, _Alloc > &  _Left,
const hash_multimap< _Kty, _Ty, _Tr, _Alloc > &  _Right 
)
inline
562  { // test for hash_multimap equality
563  return (_STD _Hash_equal(_Left, _Right));
564  }
bool _Hash_equal(const _Hash< _Traits > &_Left, const _Hash< _Traits > &_Right)
Definition: xhash:958
template<class _Kty , class _Tr , class _Alloc >
void stdext::swap ( hash_set< _Kty, _Tr, _Alloc > &  _Left,
hash_set< _Kty, _Tr, _Alloc > &  _Right 
)
inline
254  { // swap _Left and _Right hash_sets
255  _Left.swap(_Right);
256  }
void swap(_Myt &_Right)
Definition: hash_set:183
template<class _Kty , class _Ty , class _Tr , class _Alloc >
void stdext::swap ( hash_map< _Kty, _Ty, _Tr, _Alloc > &  _Left,
hash_map< _Kty, _Ty, _Tr, _Alloc > &  _Right 
)
inline
333  { // swap _Left and _Right hash_maps
334  _Left.swap(_Right);
335  }
void swap(_Myt &_Right)
Definition: hash_map:218
template<class _Kty , class _Tr , class _Alloc >
void stdext::swap ( hash_multiset< _Kty, _Tr, _Alloc > &  _Left,
hash_multiset< _Kty, _Tr, _Alloc > &  _Right 
)
inline
450  { // swap _Left and _Right hash_multisets
451  _Left.swap(_Right);
452  }
void swap(_Myt &_Right)
Definition: hash_set:379
template<class _Kty , class _Ty , class _Tr , class _Alloc >
void stdext::swap ( hash_multimap< _Kty, _Ty, _Tr, _Alloc > &  _Left,
hash_multimap< _Kty, _Ty, _Tr, _Alloc > &  _Right 
)
inline
551  { // swap _Left and _Right hash_multimaps
552  _Left.swap(_Right);
553  }
void swap(_Myt &_Right)
Definition: hash_map:463