Map data structure similar to std::map in the C++ standard library