Создайте вектор строк совместно используемой памяти
Я пытаюсь создать класс, управляющий вектором с общей памятью (std) строк.
typedef boost::interprocess::allocator shmem_allocator;
typedef boost::interprocess::vector shmem_vector;
shmem_mgr::shmem_mgr() :
shmem_(create_only, SHMEM_KEY, SHMEM_SIZE),
allocator_(shmem_.get_segment_manager())
{
mutex_ = shmem_.find_or_construct(SHMEM_MUTEX)();
condition_ = shmem_.find_or_construct(SHMEM_CONDITION)();
//buffer_ is of type shmem_vector
buffer_ = shmem_.construct(SHMEM_BUFFER_KEY)(allocator_);
}
void shmem_mgr::run() {
running_ = true;
while(running_) {
scoped_lock lock ( *mutex_ );
int size = buffer_->size();
log_.debug() < size < " queued request(s) found" < std::endl; //LINE 27
for(int i=0; i