boost::spirit::qi member von _val() aufrufen
-
Die Frage ist: Wie rufe ich Memberfunktionen von _val auf in semantic actions, die Inhalte von _val verändern.
Ist im Tutorial enthalten:
eps [_val = 20] // sofern operator= vorhandenEtwas in der Art fehlt mir:
eps [_val().set(20)] // _val() ist temporary object | ganzer Ausdruch ist keine Funktion eps [std::bind(&RValue::set, &_val(), 20)] // &_val() ist adresse auf temporäres Objekt
-
Ich habe in Erinnerung, dass das irgendwie mit ->* geht. Vielleicht so?
(_val->*&foo::bar)(...)Steht aber bestimmt irgendwo in der Doku.
-
phoenix::bind(&PRValue::set<int>, _val, 20)
wäre schonmal eine möglichkeit.
EDIT: War eigentlich klar dass es ein bind von phoenix gibt...