Question

J'ai une section d'un schéma pour un modèle que je dois analyser. Disons qu'il ressemble à ce qui suit.

{
  type = "Standard";
  hostname="x.y.z";
  port="123";
}

Les propriétés sont:

  1. Les éléments peuvent apparaître non ordonnée.
  2. Tous les éléments qui font partie du schéma doit apparaître, et aucun autre.
  3. Tous les attributs synthétisés des éléments vont dans un struct.
  4. (en option) Le schéma pourrait à l'avenir dépendent du champ de type - à savoir, les différents champs en fonction du type - mais je ne suis pas préoccupé par ce au moment.
Était-ce utile?

La solution

D'après les forums de Spirit, voici la réponse.

  

Vous pouvez jeter un oeil à la   analyseur de permutation:

a ^ b ^ c 
     

Ce qui correspond a ou b ou c (ou   combinaison de ceux-ci) dans un ordre quelconque.

Si l'objectif est d'analyser dans un struct, que la meilleure façon de tester la météo tous les membres essentiels ont été initialisés, les membres de la structure doivent être emballés avec boost::optional<> La présence d'attribut peut alors être facilement testé après l'analyse syntaxique au cours d'exécution .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top