hash_map / unordered_map的解耦版本

时间:2012-11-13 18:49:10

标签: c++ embedded hashmap unordered-map c++-standard-library

我正在编写一个嵌入式应用程序,不幸的是,我使用的环境目前还没有C ++ 11支持。

我需要实现哈希/无序映射(由于性能原因,常规std::map不会这样做),但似乎找不到干净利落的方法。

Boost不想在没有引入整个库的情况下工作。甚至来自SGI的原始STL hash_map也需要几个标头,并重复标准库功能,导致模糊的函数调用。这真是一团糟。

为了便于实施,版本控制,质量控制,V& V等,我真的需要一些利用现有标准库的东西,并且只存在于几个头文件中,我可以放在同一个文件夹中。源/头文件。这样的事情存在,还是我没有希望?我已经搜索了很长一段时间,但空手而归。

非常感谢您的帮助。如果有必要,我当然可以进一步澄清。

1 个答案:

答案 0 :(得分:1)

您是否看过GNU实现?在我的Ubuntu机器上,unordered_map.h不包含任何内容。该文件位于

    /usr/include/c++/4.6/bits/unordered_map.h

大约有400行虽然/usr/include/c++/4.6/中的文件“unordered_map”有更多的标题,但你可以调整那些我想的。

我认为你可以从GNU.org(?)找到实现的源代码并自己编译?