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  _Hash_pr
 
class  _Hash_pr< false, _Kty, _Pr >
 
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
29  { // hash _Keyval to size_t value one-to-one
30  return ((size_t)_Keyval ^ _HASH_SEED);
31  }
#define _HASH_SEED
Definition: xhash:25
template<class _Elem , class _Traits , class _Alloc >
size_t stdext::hash_value ( const basic_string< _Elem, _Traits, _Alloc > &  _Str)
inline
37  { // hash string to size_t value
38  return (_STD _Hash_seq((const unsigned char *)_Str.c_str(),
39  _Str.size() * sizeof (_Elem)));
40  }
_STD_BEGIN size_t _Hash_seq(const unsigned char *_First, size_t _Count)
Definition: xstddef:279
const _Elem * c_str() const _NOEXCEPT
Definition: xstring:1737
size_type size() const _NOEXCEPT
Definition: xstring:1752
size_t stdext::hash_value ( _In_z_ const char *  _Str)
inline
43  { // hash NTBS to size_t value
44  return (_STD _Hash_seq((const unsigned char *)_Str,
45  _CSTD strlen(_Str)));
46  }
_STD_BEGIN size_t _Hash_seq(const unsigned char *_First, size_t _Count)
Definition: xstddef:279
#define _CSTD
Definition: yvals.h:559
_Check_return_ size_t __cdecl strlen(_In_z_ const char *_Str)
size_t stdext::hash_value ( _In_z_ const wchar_t _Str)
inline
49  { // hash NTWCS to size_t value
50  return (_STD _Hash_seq((const unsigned char *)_Str,
51  _CSTD wcslen(_Str) * sizeof (wchar_t)));
52  }
_Check_return_ _CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
_STD_BEGIN size_t _Hash_seq(const unsigned char *_First, size_t _Count)
Definition: xstddef:279
#define _CSTD
Definition: yvals.h:559
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
257  { // test for hash_set inequality
258  return (!(_Left == _Right));
259  }
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
293  { // test for hash_map inequality
294  return (!(_Left == _Right));
295  }
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
455  { // test for hash_multiset inequality
456  return (!(_Left == _Right));
457  }
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
504  { // test for hash_multimap inequality
505  return (!(_Left == _Right));
506  }
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
247  { // test for hash_set equality
248  return (_STD _Hash_equal(_Left, _Right));
249  }
bool _Hash_equal(const _Hash< _Traits > &_Left, const _Hash< _Traits > &_Right)
Definition: xhash:1091
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
282  { // test for hash_map equality
283  return (_STD _Hash_equal(_Left, _Right));
284  }
bool _Hash_equal(const _Hash< _Traits > &_Left, const _Hash< _Traits > &_Right)
Definition: xhash:1091
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
445  { // test for hash_multiset equality
446  return (_STD _Hash_equal(_Left, _Right));
447  }
bool _Hash_equal(const _Hash< _Traits > &_Left, const _Hash< _Traits > &_Right)
Definition: xhash:1091
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
493  { // test for hash_multimap equality
494  return (_STD _Hash_equal(_Left, _Right));
495  }
bool _Hash_equal(const _Hash< _Traits > &_Left, const _Hash< _Traits > &_Right)
Definition: xhash:1091
template<class _Kty , class _Tr , class _Alloc >
void stdext::swap ( hash_set< _Kty, _Tr, _Alloc > &  _Left,
hash_set< _Kty, _Tr, _Alloc > &  _Right 
)
inline
237  { // swap _Left and _Right hash_sets
238  _Left.swap(_Right);
239  }
void swap(_Myt &_Right)
Definition: hash_set:178
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
271  { // swap _Left and _Right hash_maps
272  _Left.swap(_Right);
273  }
void swap(_Myt &_Right)
Definition: hash_map:200
template<class _Kty , class _Tr , class _Alloc >
void stdext::swap ( hash_multiset< _Kty, _Tr, _Alloc > &  _Left,
hash_multiset< _Kty, _Tr, _Alloc > &  _Right 
)
inline
435  { // swap _Left and _Right hash_multisets
436  _Left.swap(_Right);
437  }
void swap(_Myt &_Right)
Definition: hash_set:376
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
482  { // swap _Left and _Right hash_multimaps
483  _Left.swap(_Right);
484  }
void swap(_Myt &_Right)
Definition: hash_map:422