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 pair_type;
typedef boost::interprocess::allocator mem_allocator;
typedef boost::interprocess::map, mem_allocator> driver_map;
const mem_allocator alloc_instance(segment.get_segment_manager());
driver_map *dmap = segment.construct("DriverMap")(
std::less<int>(),
alloc_instance);
My include files are as follows:
#include
#include
#include
#include
#include
#include
#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@2cac8a6e.ad7c4515]
SUBNET Solutions Inc.
www.SUBNET.comhttp://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.