|
momo
3.12
|
momo::stdish::map is similar to std::map, but much more efficient in memory usage. The implementation is based on a B-tree.
More...
#include <map.h>
Public Member Functions | |
| map & | operator= (std::initializer_list< typename MapAdaptor::value_type > values) |
Friends | |
| void | swap (map &left, map &right) noexcept |
momo::stdish::map is similar to std::map, but much more efficient in memory usage. The implementation is based on a B-tree.
Deviations from standard class:
std::vector.reference is not the same as value_type&, so for (auto& p : map) is illegal, but for (auto p : map) or for (const auto& p : map) or for (auto&& p : map) is allowed.begin, cbegin, rend and crend have logarithmic complexity.ObjectManager<key_type>::isNothrowAnywayAssignable is false or ObjectManager<mapped_type>::isNothrowAnywayAssignable is false, functions erase can throw exceptions.merge, extract and insert(node_type&&) move items.It is allowed to pass to functions insert and emplace references to items within the container.
Function merge can work fast, if container types are same and each key from one container is less than each key from other container.
|
inline |
|
friend |