Когда я пытаюсь скомпилировать это:Как использовать boost :: mpl :: fold с boost :: fusion :: map?
#include <boost/fusion/container/map.hpp>
#include <boost/mpl/fold.hpp>
int main(int argc, char** argv)
{
typedef boost::fusion::map
<
boost::fusion::pair<int, const char*>,
boost::fusion::pair<long, char>
> FuMap;
FuMap fuMap("hello", 'w');
unsigned val = boost::mpl::fold
<
FuMap, boost::mpl::int_<0>, boost::mpl::next<boost::mpl::_1>
>::type::value;
}
Я получаю следующее сообщение об ошибке:
"...boost/mpl/begin_end.hpp", line 35: Error, nofieldfnd:
apply is not a member of
boost::mpl::begin_impl<boost::fusion::fusion_sequence_tag>.
Из документации фьюжн: «Fusion обеспечивает полный круглый совместимость с MPL Fusion последовательности полностью соответствуя MPL. последовательности и последовательности MPL полностью совместимы с Fusion. Вы можете работать с последовательностями Fusion на MPL, если вы хотите работать исключительно по типам ».
Когда я передаю boost :: mpl :: map, он работает.
Любые подсказки?
В том числе, что – wallyk
пардон, менее чем и больше, чем стерты? включить. теперь исправлено – chila
Спасибо, я отредактировал его для ясности – wallyk