** Non-Boost ** STL-распределитель для разделяемой памяти

Из-за политики, в которой я работаю, я не могу использовать версию Boost новее 1.33.1 и не могу использовать версию GCC новее 4.1.2. Да, это мусор, но я ничего не могу с этим поделать. Boost 1.33.1 не содержит межпроцессную библиотеку.

Тем не менее, один из моих проектов требует размещенияstd::map (или, скорее всего,std::unordered_map) в общей памяти. Он записывается / изменяется ОДИН РАЗ, когда процесс загружается одним процессом («сервером») и читается многими другими процессами. Я не делал IPC с разделяемой памятью раньше, так что это довольно новая для меня территория. Я посмотрел наshmget() но может показаться, что я не могу постоянно использовать один и тот же ключ совместно используемой памяти для выделения (как я полагаю, будет необходимо с распределителями контейнеров STL).

Есть ли другиеNON-BOOST Распределители STL, которые используют общую память?

EDIT: этоhas было сделано раньше.У доктора Доббса была статья о том, как сделать это в далеком 2003 году., и я начал использовать его в качестве ссылки. Однако списки кодов неполные и ссылки на них перенаправляют на основной сайт.

EDIT EDIT: Единственная причина, по которой я не переписываю Boost.Interprocess, заключается в количестве кода. Мне просто интересно, есть ли что-то относительно короткое и сжатое специально для разделяемой памяти POSIX, которое я мог бы переписать с нуля, так как передача данных между сетями также подлежит многодневному процессу утверждения ...

Ответы на вопрос(2)

Ваш ответ на вопрос