種類:
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
?