循环通过mpl :: map

Gui*_*e07 2 c++ boost boost-mpl

循环通过mpl :: map的简单方法是什么?

typedef mpl::string<'Curr'> key1;
typedef mpl::string<'Brid'> key2;
typedef mpl::map<pair<key1,int>, pair<key2,char> > m;
Run Code Online (Sandbox Code Playgroud)

我怎样才能遍历m?

Kir*_*sky 5

你为什么不用 mpl::for_each?就像是:

mpl::for_each<
  m, 
  typename mpl::lambda< 
    mpl::key_type<
      m, 
      mpl::_1
    > 
  > 
>( do_some() ); 
Run Code Online (Sandbox Code Playgroud)