Разъединенная версия hash_map / unordered_map

Я пишу встроенное приложение, и среда, которую я использую, к сожалению, в настоящее время не поддерживает C ++ 11.

Мне нужно реализовать хэш / неупорядоченную карту (обычный std::map не пойдет по соображениям производительности), но, похоже, не может найти способ сделать это чисто.

Boost не хочет работать без привлечения практически всей библиотеки. Даже оригинальный STL hash_map от SGI требуется несколько заголовков и дублирует стандартные функции библиотеки, вызывая неоднозначные вызовы функций. Это настоящий беспорядок.

Для простоты реализации, контроля версий, контроля качества, V&V и т. Д. Мне действительно нужно что-то, что использует существующую стандартную библиотеку и существует только в нескольких заголовочных файлах, которые я могу поместить в ту же папку, что и все другие исходные / заголовочные файлы. Существует ли такая вещь, или я безнадежен? Я долго искал, но пришел с пустыми руками.

Большое спасибо за любую помощь. Я могу, конечно, уточнить, если это необходимо.

7

Решение

Вы смотрели на реализацию GNU? На моем Ubuntu Machine файл unordered_map.h не содержит ничего. Этот файл находится по адресу

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

что составляет около 400 строк, хотя файл «unordered_map» в /usr/include/c++/4.6/ имеет больше заголовков, но вы можете настроить их, я думаю.

Я думаю, что вы можете найти исходный код для реализации из GNU.org (?) И скомпилировать его самостоятельно?

1

Другие решения

Других решений пока нет …