Boost Users :
Subject: [Boost-users] mpl::for_each state
From: Skelly, Luke (skelly_at_[hidden])
Date: 2009-03-31 18:12:43
Please ignore my last message. I somehow accidentally sent it while still editing!
I am trying to create a std::map from an mpl::map. I've been trying to figure out how to use mpl::for_each to accomplish this. The problem I have is that the runtime function is passed to for_each by value and returns void. All the examples I've seen for mpl::for_each involve printing and not creating any new objects. Here is the attempt I've made:
// creates std::map<size_t,size_t> from mpl::map<size_t,size_t>
typedef std::map<size_t, size_t> map_type;
void operator()(U x)
func_type operator(size_t i)
boost::mpl::pair<boost::mpl::size_t<1>, boost::mpl::size_t<2> >,
boost::mpl::pair<boost::mpl::size_t<2>, boost::mpl::size_t<24> >,
size_t result = m;
Of course this is a simplified version of what I'm really trying to do, which is create a map to function pointers.
The problem is in the call to mpl::for_each in the MapMaker constructor. The std::map is created, but never returned. I've considered making func_map static, but that complicates things quite a bit, especially since MapMaker it is a class template.
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