Guest User

Untitled

a guest
Nov 5th, 2013
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.14 KB | None | 0 0
  1. #include <boost/interprocess/managed_shared_memory.hpp>
  2. #include <boost/interprocess/allocators/allocator.hpp>
  3. #include <boost/interprocess/containers/vector.hpp>
  4.  
  5. int main ()
  6. {
  7.    using namespace boost::interprocess;
  8.    
  9.    try{
  10.  
  11.         shared_memory_object::remove("MySharedMemory");
  12.         managed_shared_memory segment(create_only, "MySharedMemory", 65536);
  13.  
  14.  
  15.         typedef allocator<int, managed_shared_memory::segment_manager> ShVectorAllocator;
  16.         typedef vector<int, ShVectorAllocator> SharedVector;
  17.  
  18.         //Initialize shared memory STL-compatible allocator
  19.         const ShVectorAllocator vectorAllocator(segment.get_segment_manager());
  20.  
  21.         //Construct a shared memory
  22.         SharedVector *mySharedVector = segment.construct<SharedVector>("sharedVector")(vectorAllocator);
  23.  
  24.  
  25.         //Insert data in the list
  26.         for(unsigned int i = 0; i < 50; i++)
  27.             mySharedVector->push_back(i);
  28.  
  29.    }
  30.    catch(...){
  31.       shared_memory_object::remove("MySharedMemory");
  32.       throw;
  33.    }
  34.  
  35.    std::cout << "Object pushed in shared memory. Press any key to remove this object and exit.";
  36.    std::cin.get();
  37.  
  38.    shared_memory_object::remove("MySharedMemory");
  39.    return 0;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment