Unordered associative containers (C++)

In the programming language C++, unordered associative containers are a group of class templates in the C++ Standard Library that implement hash table variants.

Being templates, they can be used to store arbitrary elements, such as integers or custom classes.

As their name implies, the elements in the unordered associative containers are not ordered.

The first widely used implementation of hash tables in the C++ language was hash_map, hash_set, hash_multimap, hash_multiset class templates of the Silicon Graphics (SGI) Standard Template Library (STL).

The hash_* class templates were proposed into C++ Technical Report 1 (C++ TR1) and were accepted under names unordered_*.