boost-mpl, сравнивающий итераторы - PullRequest
1 голос
/ 18 мая 2011

Черт возьми, при работе с библиотеками mpl выяснение синтаксиса - это опыт наездов ( предыдущий вопрос ). Каков правильный синтаксис для сравнения двух итераторов mpl -i, т. Е. Теста it != v.end()?

template<typename T> 
struct get_type_ordinal
{
  rbl_type_ordinal_type operator()()
  {
    typedef typename boost::mpl::find<rbl_type_mpl_vector,T>::type it;
    typedef typename boost::mpl::end<rbl_type_mpl_vector>::type end;

    BOOST_MPL_ASSERT_NOT (( boost::mpl::equal_to< it, end >)); // problem here
    return it::pos::value;
   }
}

Если я удаляю assert, функтор компилируется и работает нормально.

1 Ответ

2 голосов
/ 18 мая 2011

попробуйте boost::is_same<>, это должно сработать.

...