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