|
Boost Users : |
Subject: [Boost-users] boost interprocess: memory allocation container
From: Carla Strembicke (Carla.Strembicke_at_[hidden])
Date: 2010-11-18 13:28:28
Hello,
I am using boost 1.44 and trying to create shared memory and utilizing the segment manager with a interprocess map.
I continually get a compile error when call the segment manager construct call. I can't figure out what the problem is.
I have tried copy/paste example but continue to get the same error.
"/usr/local/boost_1_44_0/boost/interprocess/detail/named_proxy.hpp:123:131: error: no matching function for call to 'forward(std::less<int>()&)'
Below is the snippet of code:
string driver_share = _cc.share_name + "_drivers";
using namespace boost::interprocess;
//Clean up before creating shared memory
shared_memory_object::remove(driver_share.c_str());
managed_shared_memory segment(create_only, driver_share.c_str(),65536);
typedef boost::process::pid_type key_type;
typedef boost::posix_time::ptime value_type;
typedef std::pair<key_type, value_type> pair_type;
typedef boost::interprocess::allocator<pair_type, managed_shared_memory::segment_manager> mem_allocator;
typedef boost::interprocess::map<key_type, value_type, std::less<key_type>, mem_allocator> driver_map;
const mem_allocator alloc_instance(segment.get_segment_manager());
driver_map *dmap = segment.construct<driver_map>("DriverMap")(
std::less<int>(),
alloc_instance);
My include files are as follows:
#include <boost/thread/thread.hpp>
#include <boost/date_time/posix_time/posix_time_types.hpp>
#include <boost/interprocess/managed_shared_memory.hpp>
#include <boost/process/all.hpp>
#include <boost/interprocess/allocators/allocator.hpp>
#include <boost/interprocess/containers/map.hpp>
#include <map>
#include <functional>
#include <iostream>
using namespace boost;
using namespace boost::posix_time;
using namespace std;
IF you know of any reason why I get this error that would be great.........I will continue to read the boost documentation.
Regards
carla
Carla Strembicke
Software Developer
[cid:imagebf0008.jpg_at_2cac8a6e.ad7c4515]
SUBNET Solutions Inc.
www.SUBNET.com<http://www.subnet.com/>
Making Substations More Intelligent
T: 403.270.8885
F: 403.270.9631
#100, 4639 Manhattan Road SE, Calgary, Alberta, Canada; T2G 4B3
CONFIDENTIAL INFORMATION NOTICE: The information contained in this e-mail is privileged, confidential and intended solely for the use of the addressee named above. If the reader of this e-mail is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this e-mail is strictly prohibited. If you received this in error, please contact the sender and destroy all copies of this e-mail. Thank you.
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