
Hi, Thanks, this works now... I got one othr question, what if I want to share a MAP type between both processes? a map that has a string as a key and a custom class as a value? I mean: class Employee { private: string name; int age; public: Employee(); ~Employee(); }; map<string, Employee> Somehing like that... how can I implement that? I tried doing this: using namespace boost::interprocess; map<std::string, Employee> myMap; typedef allocator<myMap, managed_shared_memory::segment_manager> ShMemAllocator; typedef vector<myMap, ShMemAllocator> MyVector; But it's not working... THANKS!!! Dann On Mon, Feb 1, 2010 at 5:42 PM, Steven Watanabe <watanabesj@gmail.com>wrote:
AMDG
Daniel Veneros wrote:
Hi, I am trying to create a shared memory segment where I can share a STRING between 2 process, I tried using the following code:
*In the "main" process:*
#include <boost/interprocess/managed_shared_memory.hpp> #include <boost/interprocess/containers/vector.hpp> #include <boost/interprocess/allocators/allocator.hpp> #include <cstdlib> #include <string> #include <iostream>
using namespace boost::interprocess;
typedef allocator<std::string, managed_shared_memory::segment_manager> ShMemAllocator;
typedef vector<std::string, ShMemAllocator> MyVector;
You can't use std::string. You need to use boost::interprocess::basic_string with an appropriate allocator (just as you need to use boost::interprocess::vector instead of std::vector).
In Christ, Steven Watanabe
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users