Subject: Re: [Boost-users] Problem Using managed_shared_memory
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2010-03-18 10:23:11


AMDG

med ennemri wrote:
> I have a problem using managed_shared_memory , I can only read strings that
> has size less that 16 characters.
>
> This is my server code
>
> //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
> #include <boost/interprocess/managed_shared_memory.hpp>
> #include <utility>
> #include <iostream>
>
> int main ()
> {
> using namespace boost::interprocess;
> typedef std::pair<std::string, int> FileState;
>

You need to use boost::interprocess::basic_string
parameterized with the correct allocator. It works
for small string because of SBO, (i.e. small srings
are stored within the string class itself, and do
not allocate any memory.).

In Christ,
Steven Watanabe