Boost logo

Boost Users :

Subject: Re: [Boost-users] Help with custom classes PLEASE!!
From: Daniel Veneros (dann.vd_at_[hidden])
Date: 2010-02-01 16:50:49


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_at_[hidden]>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_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net