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
27  { // hash _Keyval to size_t value one-to-one
28  return ((size_t)_Keyval ^ _HASH_SEED);
29  }
#define _HASH_SEED
Definition: xhash:23
template<class _Elem , class _Traits , class _Alloc >
size_t stdext::hash_value ( const basic_string< _Elem, _Traits, _Alloc > &  _Str)
inline
35  { // hash string to size_t value
36  return (_STD _Hash_seq((const unsigned char *)_Str.c_str(),
37  _Str.size() * sizeof (_Elem)));
38  }
_Ret_z_ const _Elem * c_str() const _NOEXCEPT
Definition: xstring:3001
_STD_BEGIN size_t _Hash_seq(const unsigned char *_First, size_t _Count)
Definition: xstddef:330
size_type size() const _NOEXCEPT
Definition: xstring:3023
size_t stdext::hash_value ( _In_z_ const char _Str)
inline
41  { // hash NTBS to size_t value
42  return (_STD _Hash_seq((const unsigned char *)_Str,
43  _CSTD strlen(_Str)));
44  }
_Check_return_ size_t __cdecl strlen(_In_z_ char const *_Str)
_STD_BEGIN size_t _Hash_seq(const unsigned char *_First, size_t _Count)
Definition: xstddef:330
#define _CSTD
Definition: yvals.h:570
size_t stdext::hash_value ( _In_z_ const wchar_t _Str)
inline
47  { // hash NTWCS to size_t value
48  return (_STD _Hash_seq((const unsigned char *)_Str,
49  _CSTD wcslen(_Str) * sizeof (wchar_t)));
50  }
_STD_BEGIN size_t _Hash_seq(const unsigned char *_First, size_t _Count)
Definition: xstddef:330
_Check_return_ _ACRTIMP size_t __cdecl wcslen(_In_z_ wchar_t const *_String)
#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
275  { // test for hash_set inequality
276  return (!(_Left == _Right));
277  }
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
356  { // test for hash_map inequality
357  return (!(_Left == _Right));
358  }
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
471  { // test for hash_multiset inequality
472  return (!(_Left == _Right));
473  }
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
574  { // test for hash_multimap inequality
575  return (!(_Left == _Right));
576  }
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
265  { // test for hash_set equality
266  return (_STD _Hash_equal(_Left, _Right));
267  }
bool _Hash_equal(const _Hash< _Traits > &_Left, const _Hash< _Traits > &_Right)
Definition: xhash:1011
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
345  { // test for hash_map equality
346  return (_STD _Hash_equal(_Left, _Right));
347  }
bool _Hash_equal(const _Hash< _Traits > &_Left, const _Hash< _Traits > &_Right)
Definition: xhash:1011
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
461  { // test for hash_multiset equality
462  return (_STD _Hash_equal(_Left, _Right));
463  }
bool _Hash_equal(const _Hash< _Traits > &_Left, const _Hash< _Traits > &_Right)
Definition: xhash:1011
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
563  { // test for hash_multimap equality
564  return (_STD _Hash_equal(_Left, _Right));
565  }
bool _Hash_equal(const _Hash< _Traits > &_Left, const _Hash< _Traits > &_Right)
Definition: xhash:1011
template<class _Kty , class _Tr , class _Alloc >
void stdext::swap ( hash_set< _Kty, _Tr, _Alloc > &  _Left,
hash_set< _Kty, _Tr, _Alloc > &  _Right 
)
inline
255  { // swap _Left and _Right hash_sets
256  _Left.swap(_Right);
257  }
void swap(_Myt &_Right)
Definition: hash_set:184
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
334  { // swap _Left and _Right hash_maps
335  _Left.swap(_Right);
336  }
void swap(_Myt &_Right)
Definition: hash_map:219
template<class _Kty , class _Tr , class _Alloc >
void stdext::swap ( hash_multiset< _Kty, _Tr, _Alloc > &  _Left,
hash_multiset< _Kty, _Tr, _Alloc > &  _Right 
)
inline
451  { // swap _Left and _Right hash_multisets
452  _Left.swap(_Right);
453  }
void swap(_Myt &_Right)
Definition: hash_set:380
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
552  { // swap _Left and _Right hash_multimaps
553  _Left.swap(_Right);
554  }
void swap(_Myt &_Right)
Definition: hash_map:464