我有一个managed_shared_memory
对象,其中包含SharedMap
定义如下的地图容器。
typedef std::pair<std::string, T> ValueType;
typedef allocator<ValueType, managed_shared_memory::segment_manager> ShmemAllocator;
typedef map<std::string, T, std::less<std::string>, ShmemAllocator> SharedMap;
我的问题是我需要确定我正在使用的共享内存的大小。地图的键是一个未知大小的std::string,数据是一个未知大小的模板类型,其中每个数据的大小都会有所不同。
谁能建议我如何跟踪我正在使用的内存?
我是 boost::interprocess 的新手,所以任何建议都会有很大帮助。