Вопрос

У меня есть раздел схемы для модели, которую мне нужно разбирать. Позвольте сказать, что это выглядит как следующее.

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

Свойства:

  1. Элементы могут казаться неупорядоченными.
  2. Все элементы, которые являются частью схемы, должны появляться, а никакой другой.
  3. Все синтезированные атрибуты элементов входят в структуру.
  4. (Необязательно) Схема может в будущем зависеть от поля типа - то есть разных полей на основе типа - однако я не беспокоюсь об этом в данный момент.
Это было полезно?

Решение

Согласно форумам Духа, следующее является ответом.

Возможно, вы захотите взглянуть на Parser перестановка:

a ^ b ^ c 

Который соответствует или B или C (или их комбинацию) в любой последовательности.

Если цель состоит в том, чтобы разбираться в структуре, чем лучший способ проверить погоду, все необходимые члены были инициализированы, члены структуры должны быть обернуты с boost::optional<> Присутствие атрибута может быть легко протестировано после анализа во время выполнения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top