On 3/22/07, Christian Henning <chhenning@gmail.com> wrote:
Thanks Chris for the quick response. I was trying find_if but I don't think it provides the whole solution. Below is the minimal example, that doesn't compile since the static assertion fires.
#include "boost/mpl/vector.hpp" #include <boost/mpl/find_if.hpp>
using namespace std; using namespace boost;
typedef mpl::vector<char, char> vec_1; typedef mpl::vector<char, int> vec_2;
typedef mpl::vector<vec_1, vec_2> mat;
I would think you need to use mpl::at_c here. I haven't test this, but how about: typedef mpl::find_if<mat, is_same<mpl::at_c<mpl::_1,1>, int> >::type iter;
int _tmain(int argc, _TCHAR* argv[]) { BOOST_STATIC_ASSERT(( is_same< mpl::deref<iter>::type, vec_2 >::value ));
return 0; }
Do you know what I'm missing here?
Christian _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users