Re: [Boost-users] boost::mpl::map and inserting the same pair twice

I added the ::type to every insert. It still does not compile -- not using g++ nor using visual C++. Error message is not helpful. Also is there some operation to insert all elements of one map into another one? This would be extremely helpful. #include <boost/mpl/map.hpp> #include <boost/mpl/insert.hpp> #include <boost/mpl/size.hpp> #include <boost/type_traits/is_same.hpp> #include <boost/mpl/assert.hpp> typedef boost::mpl::map< boost::mpl::pair< boost::mpl::int_<0>, boost::mpl::int_<1> >, boost::mpl::pair< boost::mpl::int_<1>, boost::mpl::int_<0> >
CMap2;
typedef boost::mpl::insert< CMap2, boost::mpl::pair< boost::mpl::int_<2>, boost::mpl::int_<3> >::type
CMap3;
typedef boost::mpl::insert< CMap3, boost::mpl::pair< boost::mpl::int_<2>, boost::mpl::int_<3> >::type
CMap31;
int main(int, char**) { CMap2 s; CMap3 s1; CMap31 s2; //BOOST_MPL_ASSERT((boost::is_same<CMap31, CMap3>)); return 0; } "The first point (using an init() function in preference to a constructor) is bogus. Using constructors and exception handling is a more general and systematic way of dealing with resource acquisition and initialization errors. This style is a relic of pre-exception C++." -- Stroustrup

AMDG peter_foelsche@agilent.com wrote:
typedef boost::mpl::insert<
CMap3,
boost::mpl::pair<
boost::mpl::int_<2>,
boost::mpl::int_<3>
>::type
CMap31;
The ::type goes on boost::mpl::insert<...>::type, not boost::mpl::pair<...>::type In Christ, Steven Watanabe
participants (2)
-
peter_foelsche@agilent.com
-
Steven Watanabe