Bonjour à tous !

J'essaye d'utiliser Spirit pour charger des données. Pour cela j'ai une classe Contenu, et j'aimerai faire une règle qui génère un objet de cette classe, l'initialise en fonction de ce qui est lu, et pouvoir l'utiliser après dans le reste de mon parseur.

Le problème c'est que la doc est un peu obscur pour moi, j'arrive pas à savoir quelle syntaxe utiliser.

L'idée c'est d'avoir un truc de ce genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
rule<iter_t,Contenu *> ligneContenu;
ligneContenu = "<content"  [_val=nouveauContenu()]
>> "type=" >> int_ [phoenix::bind(addInt,_val,_1) ]
(nouveauContenu et addInt sont des fonctions statiques)

Je maitrise plus ou moins phoenix::bind, la ce qui me bloque c'est de mettre quelquechose dans _val qui ne soit pas _1

J'ai testé pas mal de truc, mais comme j'ai pas réussi à comprendre correctement le type de _val, c'était un peu au hasard, et au final rien ne marche, donc si quelqu'un pouvait ou m'expliquer ou me donner la solution, ça m'aiderai beaucoup.

Merci d'avance !