Можно ли создать карту слияния из адаптированной структуры?

ПозволятьA быть:

struct A {
  int a;
  std::string b;
  struct keys {
    struct a;
    struct b;
  };
};

Я хотел бы создатьfusion::map из структуры, так что он содержитfusion::pairs:fusion::pair<A::keys::a, int> а такжеfusion::pair<A::keys::b, std::string>, Что-то вроде

A a;
fusion::make_map<A>(a)

Я пробовал сBOOST_FUSION_ADAPT_ASSOC_STRUCT

BOOST_FUSION_ADAPT_ASSOC_STRUCT(
    A,
    (int,  a, A::keys::a)
    (std::string, b, A::keys::b)

)

Это адаптирует A для использования в качестве ассоциативной последовательности, но я не нашел способа построить карту из нее. В частности, если я перебираю его, я получаю только значения. Если бы я мог перебирать ключи, которые были бы действительно полезны, потому что тогда я мог бы сжать значения и ключи для построения карты, но я пока не нашел способа сделать это.

Ответы на вопрос(2)

Ваш ответ на вопрос