問題タブ [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.

0 投票する
2 に答える
2694 参照

c++ - C++ の Yaml エミッター

YAML を発行するための C++ ライブラリはありますか? ウィキペディアは libyaml の C++ ラッパーについて言及していますが、リンクは壊れています。公式の YAML サイトではyaml-cppのみが提供されていますが、これはこのSO の質問でも提案されていますが、cpp-yaml は単なるパーサーであり、エミッターではありません。私は運が悪いのでしょうか?

編集: オブジェクト指向インターフェイスを探しているため、C++ が必要です。libyaml の C インターフェイスを C++ コードで使用できることはわかっていますが、それは理想的とは言えません。

0 投票する
2 に答える
1405 参照

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 にあります

私に何ができるか考えていますか?

ありがとう

0 投票する
1 に答える
288 参照

c++ - RAD Studio 2010 での yaml-cpp コンパイル エラー

yaml-cppRAD 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 では機能しません。

0 投票する
1 に答える
1432 参照

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 進数で取得する必要がありますが、わかりません。別の方法で入手する方法を教えてください。

ありがとう、

0 投票する
1 に答える
3029 参照

yaml-cpp - yaml-cpp で OpenCV YAML 出力を解析しようとしています

OpenCv で生成された一連の YAML ファイルがあり、それらを yaml-cpp で解析したいと考えています。

単純なことは大丈夫ですが、行列表現は難しいことがわかりました。

これはベクトルにマップする必要があります

float型で。私のコードは次のようになります:

しかし、私は得る

yaml-cpp のドキュメントをいくつか探しましたが、解析と出力に関する簡単な紹介例を除いて、何もないようです。残念ながら、この特定の状況では、これら 2 つのどちらも役に立ちません。

私が理解しているように、!! これがユーザー定義型であることを示していますが、yaml-cpp でそれを解析する方法がわかりません。

0 投票する
2 に答える
2713 参照

c++ - yaml-cpp解析文字列

yaml-cppを使用してYAML形式の文字列を解析することは可能ですか?

YAML::Parser::Parser(std::string&)コンストラクターはありません。(http-serverからlibcurlを介してYAML文字列を取得しています。)

0 投票する
5 に答える
571 参照

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 つだけ取る必要があります

質問:>>クラスの演算子を「適切に」オーバーロードするにはどうすればよいですか

  1. 情報隠蔽の原則に違反することなく?
  2. 過度のコピーなしで?
0 投票する
1 に答える
292 参照

c++ - yaml-cpp でメモリ内のドキュメントを変更する

YML ドキュメントを読み取り、メモリ内のいくつかのノードを変更してフィルター処理し、エミッターで吐き出したいです。問題は、YAML::Node が読み取り専用に設計されているように見えることです。欠落しているノードの値 (この場合はスカラー) を置き換える方法はありますか?

0 投票する
2 に答える
1688 参照

c++ - yaml-cppから出てくるコンパイラエラー

yaml-cppをプロジェクトに統合しようとしていますが、GCCから予期しないエラーが発生しています。例えば:

もう一つの例:

私のプラットフォームはFedora(2.6.32カーネル)、GCC 4.4.1、およびyaml-cpp0.2.5です。他にもたくさんのエラーがあります。肉眼では、これはyaml-cpp内の問題のように見えますが、経験から、おそらく私が問題であることがわかります。何か案は?

アップデート

ファイルtraits.hには、次のものが含まれています。

また、nodeutil.hには次のものが含まれます。

0 投票する
2 に答える
1266 参照

yaml-cpp - ネストされたマップを読み取れません(YAML :: InvalidScalarを発生させます)

クラス(いくつかのスカラー値とfloatのベクトルを含む)があり、別のマップの値としてインスタンスを読み書きしたいと思います。

このクラスを書くことは完璧に機能しますが、私が何をしてもそれを読むことができないようです。それはInvalidScalarを投げ続けます。

これは、出力(エラーを報告せずにyaml-cppで記述されたもの)が次のようになることです。

ドキュメントには、これがサポートされている使用法、ネストされたマップ、この場合は値の1つとしてシーケンスがあると記載されているようです。それはInvalidScalarであると不平を言いますが、私が最初に行うことは、これがマップであることを示しています。

誰かがこれに問題があると思いますか?