3

種類:

namespace bipc = boost::interprocess;

typedef bipc::allocator<char, bipc::managed_shared_memory::segment_manager> char_allocator; 
typedef bipc::basic_string<char, std::char_traits<char>, char_allocator> shmem_string; 

typedef bipc::allocator<shmem_string, bipc::managed_shared_memory::segment_manager> string_allocator;
typedef bipc::vector<shmem_string, string_allocator> shmem_vector;

現在の使用状況:

le_buffer = shmem.construct<shmem_vector>("le_buffer")(some_string_allocator);
le_buffer->push_back(some_shmem_string);

問題:

ここで、このベクトルを繰り返し処理し、int が 123 に等しいと解析されたすべての文字列を削除する必要があります。

int size = le_buffer->size();
for(int i=0; i<size; i++){
   int tmp = parse(le_buffer->at(i));
   if(tmp == 123) {
    // ???
   }
}

からこれらの文字列を安全に削除する方法はle_buffer?

4

0 に答える 0