Ist es möglich, eine Fusionskarte aus einer angepassten Struktur zu generieren?

LassenA Sein:

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

Ich würde gerne eine generierenfusion::map von der Struktur so, dass es die enthältfusion::pairs:fusion::pair<A::keys::a, int> undfusion::pair<A::keys::b, std::string>. So etwas wie

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

Ich habe es mit versuchtBOOST_FUSION_ADAPT_ASSOC_STRUCT

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

)

Dies passt A an, um als assoziative Sequenz verwendet zu werden, aber ich habe keinen Weg gefunden, eine Karte daraus zu konstruieren. Insbesondere wenn ich darüber iteriere, erhalte ich nur die Werte. Wenn ich die Schlüssel durchlaufen könnte, wäre das sehr hilfreich, denn dann könnte ich die Werte und Schlüssel komprimieren, um eine Karte zu erstellen, aber ich habe noch keinen Weg gefunden, dies zu tun.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage