[section:comparison Comparison to Associative Containers] The unordered associative containers have a very similar interface to the associative containers. For example: #include ... typedef ``[classref boost::unordered_map]`` map; map x; x["one"] = 1; x["two"] = 2; x["three"] = 3; std::cout<, typename Pred = std::equal_to, typename Alloc = std::allocator > class ``[classref boost::unordered_set unordered_set]``; The hash function comes first as you might want to change the hash function but not the equality predicate, while if you were to change the behaviour of the equality predicate you would have to change the hash function to match it. For example, if you wanted to use [endsect] [endsect]