Fixed C++0x and MacOS X bugs

[SVN r52418]
This commit is contained in:
Ion Gaztañaga
2009-04-16 10:07:21 +00:00
parent 8460f20835
commit 3e486d92a6
45 changed files with 1017 additions and 403 deletions

View File

@@ -15,6 +15,9 @@
#include <boost/interprocess/containers/map.hpp>
#include <boost/interprocess/containers/vector.hpp>
#include <boost/interprocess/containers/string.hpp>
//<-
#include "../test/get_process_id_name.hpp"
//->
using namespace boost::interprocess;
@@ -53,14 +56,31 @@ typedef map< char_string, complex_data
int main ()
{
//Remove shared memory on construction and destruction
struct shm_destroy
struct shm_remove
{
shm_destroy() { shared_memory_object::remove("MySharedMemory"); }
~shm_destroy(){ shared_memory_object::remove("MySharedMemory"); }
//<-
#if 1
shm_remove() { shared_memory_object::remove(test::get_process_id_name()); }
~shm_remove(){ shared_memory_object::remove(test::get_process_id_name()); }
#else
//->
shm_remove() { shared_memory_object::remove("MySharedMemory"); }
~shm_remove(){ shared_memory_object::remove("MySharedMemory"); }
//<-
#endif
//->
} remover;
//Create shared memory
//<-
#if 1
managed_shared_memory segment(create_only,test::get_process_id_name(), 65536);
#else
//->
managed_shared_memory segment(create_only,"MySharedMemory", 65536);
//<-
#endif
//->
//An allocator convertible to any allocator<T, segment_manager_t> type
void_allocator alloc_inst (segment.get_segment_manager());