問題タブ [boost-propertytree]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
boost-propertytree - ブースト property_tree::empty_ptree はどこにありますか?
ブーツの property_tree ライブラリを使用しています。オブジェクトから子ノードを取得する方法を探していますが、失敗した場合ptree
は空を返します。ptree
property_tree/examples/empty_ptree_trick.cpp で素敵な例を見つけました:
これはまさに私が必要とすることを行います。empty_ptree()
問題は、関数が のメンバーではないとコンパイラが不平を言うことですboost:property_tree
。どこにアイデアはempty_ptree()
ありますか?
VS2010 でブースト 1.44 を使用しています。
json - 空の配列を作成する方法は?
boost :: property_tree :: json_parser::write_jsonから次の出力を取得することが可能です
いくつかのアイテムを使用して配列を作成する方法を知っていますが、空の配列を作成しようとすると、 "params":""が表示されます。
c++ - ファイルではなく文字列で Boost.PropertyTree をフィードする方法は?
Boost には、ファイルから XML をロードする方法に関するチュートリアルがあります。コードで作成した文字列またはユーザーから受け取った文字列 (例: cin
) をフィードするにはどうすればよいですか?
loops - boost : ptree の要素を反復するだけです
これは単純なはずです(私はブーストを学んでいるので、何かが欠けています)
json_read を使用していくつかの単純な JSON を読み込んだところ、ptree が作成されました。Web 上のすべての例では、ptree.get("entry_name") を使用してエントリを取得しています。私がやりたいのは次のようなものです:
つまり、ptree をループして、それぞれの名前 (つまり、pt.get() に入力したもの) とそれに対応する値を書き出します。
これが単純だったらごめんなさい
ロス
json - JSON データから float 配列へのアクセスをブースト
ブーストを介して収集された JSON データがいくつかありますが、配列内の一部のデータにアクセスする方法がわかりません。
JSON データ: {"dvm_gnd": {"num": 4, "value": [1,2,3,4]}, "xx_gn": {"num: 1, "value": 5}}
次を使用して、「num」と単一の「value」(5) を簡単に取得できます。
しかし、配列の要素にアクセスする方法がわかりませんか? ptree.get() は何を返しますか?
ありがとう
ロス
c++ - モジュールプロパティの名前と値のペアC++APIフレームワーク-再発明?
モジュールの操作を制御するさまざまなパラメーターをユーザーが取得および設定できるようにするAPIに出くわすことがよくあります。私は今、さらに別のプロパティAPIを作成することを考えていますが、車輪の再発明をしたくありません。
以下は、典型的な基本的なクライアントコードです。
多くの場合、設定できるパラメータは数十あり、そのようなプロパティセットは継続的に開発されています。
一部のAPIは他のAPIよりもスマートで、より高度な機能は次のとおりです。
- プロパティの階層的なグループ化
- プロパティの列挙
- 最小値と最大値が適用された数値パラメータ
- デフォルトのパラメータ値
- 有効、無効、または読み取り専用の設定
- 動的パラメータ-他のパラメータの状態に応じて、表示、非表示、最小/最大設定、有効化、無効化、または読み取り専用の設定。
- テキスト名ではなくUUIDキーを介してアクセスされるプロパティ
上記のサンプルコードのCスタイルのアクセサー以外に、次のようなフレームワークに出くわしました。
- ファイルへのプロパティの読み取り/書き込み(XMLなど)
- Windowsレジストリへの設定の読み取り/書き込み
- 次のようなシステムプロパティAPIとのインターフェース
IPersistPropertyBag
- ツリービューやリストなど、デフォルトのダムGUI実装があります
- 最小/最大/有効状態に適したGUI拡張機能を使用して、GUIコードの繰り返しを減らします。
上記のすべてのフレームワークを提供する、うまく設計された公共図書館を見つけたいと思いますが、これまでのところ空白になっています。Boost.PropertyTreeを知っていますが、実際にはスケルトンにすぎません。知っておくべき他のポータブルプロパティAPIフレームワークはありますか?
c++ - boost::ptreeの頭痛に関するテンプレートクラス
次のスニペットのコードがコンパイルされない理由を見つけるのに苦労しています。クラステンプレートについて私が理解していないことがあるかもしれません(つまり、typedef typenameのこと)が、この特定のケースではそうではないと思います。
テンプレート化されたクラスの外ではありますが、まったく同じセットアップを使用しました(ただし、上記とまったく同じ行を使用しています)。コンパイラ(GCC / MingW)エラーは
'>'
トークンの前に期待される一次式
その行のまたは何かに置き換えT
てint
も、コンパイルされません(「前に期待される一次式int
」)。
何かご意見は?Boost::ptreeのドキュメントはhttp://www.boost.org/doc/libs/release/boost/property_tree/ptree.hppにあります
c++ - c ++:プログラム設定-boost.PropertyTreeまたはboost.program_options?
プログラムの設定やオプション、構成をC++で保存するためのソリューションを探していました。これらは、GUIで公開され、コードの実行の間に保存する必要がある設定である可能性があります。
私の検索で、私はboost.PropertyTreeに出くわしました。これは良い選択のようでした。私はブーストが尊敬されているコードであることを知っているので、それを快適に使用できるので、これを使用して開発を始めました。次に、 boost.program_optionsに出くわします。これにより、同じことができるように見えますが、プログラム設定の特定のユースケースに特化しているようにも見えます。
今、私はその仕事に最も適切なのはどれか疑問に思っていますか?(または両方よりも優れている3番目のオプションがあります)
編集: fyiこれはプラグイン用であるため、コマンドラインオプションを使用しません(のように、それは不可能です)。
アップデート
私はboost.PropertyTreeに固執することになりました。変更したオプションをINIに保存できるようにする必要がありましたが、boost.program_optionsを使用してそれを行う方法がわかりませんでした。
c++ - boost :: ptree::iteratorを前方宣言する方法
プロジェクトでブーストptreeを使用したいのですが、ptree.hppによって約1000個のヘッダーファイルがインクルードされるため、コンパイル時間が大幅に増加し(たとえば、1秒から7秒)、20を超える異なるcppファイルで必要になるため、これはそうではありません。許容範囲内(プリコンパイル済みヘッダーはあまり改善されません)。だから私は自分のクラスにブーストptreeをカプセル化することを考えています
しかし、私はイテレータをうまく実装できていません。理想的には、boost::property_tree::ptree::iterator
をプライベートメンバー変数としてm_tree
使用し、それを自分のメンバー関数を使用して繰り返すことができるようにしたいのですが、内部クラスを前方宣言するにはどうすればよいですか?これは一般的に不可能です。このクラス内にイテレータを実装するエレガントな方法はありますか?
c++ - Boost プロパティ ツリーを使用して XML ファイル内の変数を反復処理する
ブーストプロパティツリーを使用して、取得したXMLファイル内の変数を反復処理するのを手伝ってくれる人はいますか?
これまでのコードは次のとおりです[XML内の最初の変数を通過しません]