hash_map/unordered_map的解耦版本

lla*_*ais 7 c++ embedded unordered-map hashmap c++-standard-library

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

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

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

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

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

CS *_*Pei 1

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

    /usr/include/c++/4.6/bits/unordered_map.h
Run Code Online (Sandbox Code Playgroud)

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

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