Czy można wygenerować mapę fuzji z dostosowanej struktury?

PozwolićA być:

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

Chciałbym wygenerowaćfusion::map ze struktury takiej, że zawierafusion::pairs:fusion::pair<A::keys::a, int> ifusion::pair<A::keys::b, std::string>. Coś jak

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

Próbowałem zBOOST_FUSION_ADAPT_ASSOC_STRUCT

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

)

To dostosowuje A do użycia jako sekwencji asocjacyjnej, ale nie znalazłem sposobu na zbudowanie z niego mapy. W szczególności, jeśli iteruję po nim, otrzymuję tylko wartości. Gdybym mógł iterować po klawiszach, które byłyby bardzo pomocne, ponieważ wtedy mógłbym zipować wartości i klucze do zbudowania mapy, ale nie znalazłem jeszcze sposobu, aby to zrobić.

questionAnswers(2)

yourAnswerToTheQuestion