| ## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- File List
- File Members

# csutil/hash.h File Reference

A generic hash table. More...

`#include "csextern.h"`
`#include "csutil/array.h"`
`#include "csutil/comparator.h"`
`#include "csutil/util.h"`
`#include "csutil/win32/msvc_deprecated_warn_off.h"`
`#include "csutil/win32/msvc_deprecated_warn_on.h"`

Go to the source code of this file.

## Classes
class | csComparator< csStrKey, csStrKey >
| csComparator<> specialization for csStrKey that uses strcmp(). More...
class | csHash< T, K, ArrayMemoryAlloc >
| A generic hash table class, which grows dynamically and whose buckets are unsorted arrays. More...
class | csHash< T, K, ArrayMemoryAlloc >::ConstGlobalIterator
| An const iterator class for the hash. More...
class | csHash< T, K, ArrayMemoryAlloc >::ConstIterator
| An const iterator class for the hash. More...
struct | csHash< T, K, ArrayMemoryAlloc >::Element
class | csHash< T, K, ArrayMemoryAlloc >::GlobalIterator
| An iterator class for the hash. More...
class | csHash< T, K, ArrayMemoryAlloc >::Iterator
| An iterator class for the hash. More...
class | csHashComputer< T >
| Template for hash value computing. More...
class | csHashComputer< const char * >
| csHashComputer<> specialization for strings that uses csHashCompute(). More...
class | csHashComputer< double >
class | csHashComputer< float >
class | csHashComputer< int >
class | csHashComputer< long >
class | csHashComputer< longlong >
class | csHashComputer< ulonglong >
class | csHashComputer< unsigned int >
class | csHashComputer< unsigned long >
class | csHashComputer< void * >
| csHashComputer<> specialization for an integral type. More...
class | csHashComputerIntegral< T >
| Template for hash value computing, suitable for integral types and types that can be casted to such. More...
class | csHashComputerString< T >
| Template that can be used as a base class for hash computers for string types (must support cast to const char*). More...
class | csHashComputerStruct< T >
| Template that can be used as a base class for hash computers for POD structs. More...
class | csPtrKey< T >
| A helper template to use pointers as keys for hashes. More...
class | csStrKey
| This is a simple helper class to make a copy of a const char*. More...
## Functions
unsigned int | csHashCompute (char const *, size_t length)
| Compute a hash key for a string of a given length.
unsigned int | csHashCompute (char const *)
| Compute a hash key for a null-terminated string.

## Detailed Description

A generic hash table.

Definition in file hash.h.