問題タブ [yaml-cpp]
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.
c++ - C++ の Yaml エミッター
YAML を発行するための C++ ライブラリはありますか? ウィキペディアは libyaml の C++ ラッパーについて言及していますが、リンクは壊れています。公式の YAML サイトではyaml-cppのみが提供されていますが、これはこのSO の質問でも提案されていますが、cpp-yaml は単なるパーサーであり、エミッターではありません。私は運が悪いのでしょうか?
編集: オブジェクト指向インターフェイスを探しているため、C++ が必要です。libyaml の C インターフェイスを C++ コードで使用できることはわかっていますが、それは理想的とは言えません。
c++ - OS X で yaml-cpp を使用する際の問題
そのため、yaml-cpp を使用しているアプリケーションのコンパイルに問題があります
ソース ファイルに "yaml.h" を含めていますが (yaml-cpp wiki の例と同じように)、アプリケーションをコンパイルしようとすると、次のエラーが発生します。
私のメイクファイルは次のようになります。
pkg-config --cflags --libs yaml-cppは以下を返します。
yaml.h は実際には /usr/local/include/yaml-cpp にあります
私に何ができるか考えていますか?
ありがとう
c++ - RAD Studio 2010 での yaml-cpp コンパイル エラー
yaml-cpp
RAD Studio 2010 でコンパイルできません。nodeutil.h
コンパイラ印刷:
[BCC32 Error] nodeutil.h(30): E2238 Multiple declaration for 'is_index_type_with_check<unsigned int,0>'
[BCC32 Error] nodeutil.h(24): E2344 Earlier declaration of 'is_index_type_with_check<unsigned int,0>'
私はすべて正しいと思います-24行目で私は得ました
is_index_type_with_check<std::size_t, false>
、
30行目で得た
is_index_type_with_check<unsigned, true>
.
2 つの異なるタイプ。
しかし、以下のように 24 行目を変更すると、RAD Studio はコンパイルできます。yaml-cpp
どうして?!24行目で得た
is_index_type_with_check<std::size_t, true>
そして30行目
is_index_type_with_check<unsigned, true>
2 つの同じタイプ。ただし、すべて RAD Studio で機能し、MS VS 2008 Express では機能しません。
c++ - 無効なスカラー 16 進値 0x8000000 以上
yaml ファイルから 16 進値を取得する際に問題が見つかりました。0x80000000 以上の 16 進値を取得できませんでした。以下はサンプル C++ プログラムです。
hex.yaml
エラーメッセージはこちら。
環境
yaml-cpp : svn、March.22.2010 または v0.2.5 から取得
OS : Ubuntu 9.10 i386
今、yaml-cpp の値を 16 進数で取得する必要がありますが、わかりません。別の方法で入手する方法を教えてください。
ありがとう、
yaml-cpp - yaml-cpp で OpenCV YAML 出力を解析しようとしています
OpenCv で生成された一連の YAML ファイルがあり、それらを yaml-cpp で解析したいと考えています。
単純なことは大丈夫ですが、行列表現は難しいことがわかりました。
これはベクトルにマップする必要があります
float型で。私のコードは次のようになります:
しかし、私は得る
yaml-cpp のドキュメントをいくつか探しましたが、解析と出力に関する簡単な紹介例を除いて、何もないようです。残念ながら、この特定の状況では、これら 2 つのどちらも役に立ちません。
私が理解しているように、!! これがユーザー定義型であることを示していますが、yaml-cpp でそれを解析する方法がわかりません。
c++ - yaml-cpp解析文字列
yaml-cppを使用してYAML形式の文字列を解析することは可能ですか?
YAML::Parser::Parser(std::string&)
コンストラクターはありません。(http-serverからlibcurlを介してYAML文字列を取得しています。)
c++ - 情報隠蔽に違反せずにストリーム挿入をオーバーロードしますか?
プロジェクトにyaml-cppを使用しています。<<
一部のクラスのand演算子をオーバーロードしたいの>>
ですが、これを「適切に」行う方法に取り組んでいます。Note
たとえば、クラスを取ります。それはかなり退屈です:
<<
オペレーターは簡単なソースです。で.h
:
そしてで.cpp
:
汗かいていない。次に、>>
演算子を宣言します。で.h
:
しかし、.cpp
私は得る:
もし私がそのようなことを書いたらnode[0] >> v._number;
、CV 修飾子を変更してすべてのNote
フィールドを作成する必要がありますpublic
(これは、データの隠蔽について (教授、本、および経験によって) 教えられたすべてのものを打ち負かします)。
node[0] >> temp0; v.number( temp0 );
いたるところで行うのは、退屈で、エラーが発生しやすく、見苦しいだけでなく、無駄が多いように感じます (余分なコピーの場合)。
それから私は賢明になりました: 私はこれらの 2 つの演算子をNote
クラス自体に移動し、それらを s として宣言しようとしましfriend
たが、コンパイラ (GCC 4.4) はそれを好きではありませんでした:
src/note.h:44: エラー: 'YAML::Emitter& Note::operator<<(YAML::Emitter&, const Note&)' は 1 つの引数を取る必要があります
src/note.h:45: エラー: 'void 注: :operator>>(const YAML::Node&, Note&)' は引数を 1 つだけ取る必要があります
質問:>>
クラスの演算子を「適切に」オーバーロードするにはどうすればよいですか
- 情報隠蔽の原則に違反することなく?
- 過度のコピーなしで?
c++ - yaml-cpp でメモリ内のドキュメントを変更する
YML ドキュメントを読み取り、メモリ内のいくつかのノードを変更してフィルター処理し、エミッターで吐き出したいです。問題は、YAML::Node が読み取り専用に設計されているように見えることです。欠落しているノードの値 (この場合はスカラー) を置き換える方法はありますか?
c++ - yaml-cppから出てくるコンパイラエラー
yaml-cppをプロジェクトに統合しようとしていますが、GCCから予期しないエラーが発生しています。例えば:
もう一つの例:
私のプラットフォームはFedora(2.6.32カーネル)、GCC 4.4.1、およびyaml-cpp0.2.5です。他にもたくさんのエラーがあります。肉眼では、これはyaml-cpp内の問題のように見えますが、経験から、おそらく私が問題であることがわかります。何か案は?
アップデート
ファイルtraits.hには、次のものが含まれています。
また、nodeutil.hには次のものが含まれます。
yaml-cpp - ネストされたマップを読み取れません(YAML :: InvalidScalarを発生させます)
クラス(いくつかのスカラー値とfloatのベクトルを含む)があり、別のマップの値としてインスタンスを読み書きしたいと思います。
このクラスを書くことは完璧に機能しますが、私が何をしてもそれを読むことができないようです。それはInvalidScalarを投げ続けます。
これは、出力(エラーを報告せずにyaml-cppで記述されたもの)が次のようになることです。
ドキュメントには、これがサポートされている使用法、ネストされたマップ、この場合は値の1つとしてシーケンスがあると記載されているようです。それはInvalidScalarであると不平を言いますが、私が最初に行うことは、これがマップであることを示しています。
誰かがこれに問題があると思いますか?