Boost logo

Boost Users :

Subject: [Boost-users] [mpl] defaults with associative sequence
From: Manfred Doudar (manfred.doudar_at_[hidden])
Date: 2010-03-05 04:31:11


Hi,

Maybe I am misreading the documentation, but if I have an mpl::map and
try and get an element associated with a key all's good, while if I
assign a default - I get an error that mpl::at only takes 2 and
not 3 template parameters.

Simple example for sake of completness:

  using namespace boost::mpl;

  typedef map< pair<int, int_<0> >
             , pair<float, int_<1> >
> m;

  at<m, float>::type::value; // Ok

  at<m, double, int_<2> >::type::value; // compiler error

Indeed a look in boost/mpl/at.hpp even leads me to believe that mpl::at
only takes two template parameters (maybe I mistaken), but documentation
suggests otherwise.

[Compiler: GCC-4.4.2 ; Boost-1.42]

Am I doing something blatantly wrong?

Cheers,

-- 
Manfred

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