4

解析する必要のあるモデルのスキーマのセクションがあります。次のようになります。

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

プロパティは次のとおりです。

  1. 要素は順序付けられていないように見える場合があります。
  2. スキーマの一部であるすべての要素が表示される必要があり、他の要素は表示されない必要があります。
  3. 要素の合成された属性はすべて構造体に入ります。
  4. (オプション)スキーマは将来、タイプフィールド(つまり、タイプに基づいて異なるフィールド)に依存する可能性がありますが、現時点ではこれについては心配していません。
4

1 に答える 1

4

Spiritフォーラムによると、以下が答えです。

順列パーサーを見たいと思うかもしれません:

a ^ b ^ c 

任意の順序で a または b または c (またはそれらの組み合わせ) に一致します。

目的が構造体に解析することである場合、すべての重要なメンバーが初期化されていることをテストする最良の方法よりも、構造体のメンバーを でラップする必要がありboost::optional<>ます。属性の存在は、実行時の解析後に簡単にテストできます。

于 2010-02-02T16:28:41.543 に答える