Это позволяет создавать несколько адаптаций для одной и той же структуры одновременно.

у лексикографический анализатор. Он берет английскую строку и преобразует ее в набор координат широты / долготы. Это немного похоже на Google Earth.

Во всяком случае, я написал свои таблицы символов и грамматику, и она с удовольствием разбирает отформатированные данные.

struct LatLongDegrees
{
 std::string  dirLat_;
 double   degLat_;
 std::string     dirLong_;
 double   degLong_;
}

Например: {"Север", 23,59, "Восток", -30,82}

Вот моя грамматика:

 basic =(latitude >> ' ' >> double_ >> ' ' >> longitude >> ' ' >> double_);

Где широта и долгота - это таблицы символов, которые отображаются от кратких направлений компаса до строк (например, «e» на «восток»)

Итак, на мой вопрос:

Я хочу добавить следующее правило в мою грамматику, где символы широты и долготы находятся в противоположных позициях:

reversed = (longitude  >> ' ' >> double_ >> ' ' >> latitude >> double_ )

Это анализирует, НО значения degLat_ и degLong_ не обращаются вместе со строковыми значениями. Они просто анализируются непосредственно в структуре, без учета строковых меток.

Как построить структуру (или вектор Boost :: Fusion), когда данные для анализа не являются последовательными?

Ответы на вопрос(1)

Ваш ответ на вопрос