|
Boost Users : |
Subject: [Boost-users] Boost::interprocess::string problems
From: this_thread (cdail.forums_at_[hidden])
Date: 2010-07-23 09:45:55
Good morning all!
Many thanks in advance to anyone that can help me out with this matter.
I've been doing some work with Boost::Interprocess shared memory lately, and
finding it incredibly useful. I've successfully put interprocess mutexes
(muti?) and vectors to work, but for whatever reason, I can't seem to get
the hang of interprocess strings. I'm sure I'm just missing something
stupidly obvious, and to a degree I already see it but don't know what the
solution is.
For a vector, I know I've got a create a new interprocess allocator which
allocates whatever I want to store using the interprocess segment manager:
typedef boost::interprocess::allocator<Foo,
boost::interprocess::managed_shared_memory::segment_manager> FooAllocator;
Then create a special vector which uses that allocator:
typedef boost::interprocess::vector<Foo, FooAllocator>
FooInterprocessVector;
This works great, provided I remember to find<FooInterprocessVector> on the
opposite process before accessing the vector during periods when it may have
been modified.
I can't seem to get the hang of strings though. I've looked around online
and can't seem to find an example of how this should be set up, and I can't
get it to accept an allocator. The only way I can seem to typedef one is
something like:
typedef boost::interprocess::string BoostString
- or -
typedef boost::interprocess::basic_string<char> BoostString;
Using this, so long as I only write a short string to the shared memory,
things work fine, but anything over a few characters quickly clobbers other
data. Has anyone used Interprocess::Strings before and could possibly point
me in the direction I'm going wrong? Thank you all!
-- View this message in context: http://old.nabble.com/Boost%3A%3Ainterprocess%3A%3Astring-problems-tp29206125p29206125.html Sent from the Boost - Users mailing list archive at Nabble.com.
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