boost-phoenix

    5

    1答えて

    私は構造体のベクトルの要素を見つけようとしています。このコードは、大文字と小文字を区別して検索するときに機能します。大文字と小文字を区別しないように強調しようとすると、2つの問題が発生します。単にboost/algorithm/string.hpp休憩前に作業VS2010ビルドを含め 。エラーは "'boost :: phoenix :: bind':オーバーロードされた関数へのあいまいな呼び出し

    5

    1答えて

    ブーストフェニックス式の変換に関数ボディを含めるにはどうすればよいですか?例えば、私はBoost Phoenix Starter Kitのレイジー機能部に を構築している、と怠惰な追加機能を作成しました: struct my_lazy_add_impl { typedef int result_type; template <typename T> T operato

    1

    1答えて

    このコードは機能します。この質問はそれをよりよく見せることです。 私はutreeについて記事を知っているのを見たことがありますが、それが最善の方法であるかどうかはわかりません。が qi::rule<Iterator, common_node(), Skipper> newcall qi::rule<Iterator, std::wstring()> tyname; ターゲット共通ASTノード

    2

    1答えて

    として継承された属性を持つルールの我々はルール1 qi::rule<std::string::iterator, int()> rule1 = qi::int_[qi::_val=qi::_1]; を持っており、我々は属性としてint型を取得して決めましょうが、十分ではありません、我々はまた、強化(生データを取得したい:: iterator_range)。ルール1と同じタイプのルールがたくさん

    8

    1答えて

    私は定期的にboost.lambda(とphoenix)を使ってC++でラムダ関数を定義しています。多態性、その表現の簡潔さ、そしてC++での関数型プログラミングのやり方がずっと簡単なのは本当に好きです。場合によっては、小さな関数を定義したり、静的なスコープで名前を付けるためにそれらを使用するためには、よりクリーンで読みやすい(読み込みに慣れている)人もいます。ほとんどの従来の機能に似ているこれら

    5

    2答えて

    Boost Phoenix式をC++の代表的な文字列に変換できますか?私が持っている可能性があり:私は、この例では、いくつかの大まかなエッジを持って感謝しますが、これらの線に沿って何かが試みられている場合、私は疑問に思う template <class T1, class T2> struct foo { auto operator()(T1 x1, T2 x2) -> de

    1

    1答えて

    私はboost :: spiritというパーサーを実装していましたが、google :: protobufを生成する必要があります。 私は背景としてpageに従おうとしました。残念ながら、google :: protobuf生成クラスはset/getメソッドのみを提供するため、属性文法は使用できません。だから、私は::ブーストとの結合defered鳳凰を試してみましたが、私は、クラスA(下記のコー

    2

    2答えて

    私はブースト鳳凰のための初心者だけど、私は小さなコードを書きましたが、それは完全に実行シーケンスについて私を混乱させる、あなたはコード std::vector<int> v; v.push_back(1); ph::for_each(v, ph::lambda[ph::ref(cout)<<"a", ph::ref(cout)<<"b" ])(

    2

    2答えて

    私は数式を解析するためにブーストスピリットを使用し、次のコードに抽出した問題にぶつかっています。 トークンが1つで、一致する文字列を保持する属性を持つ単純なレクサーがあります。パーサーは、トークンの属性を取得し、それと一緒に関数を呼び出すための単一のルールを定義します。関数呼び出しの結果は、ルールの属性値でなければなりません。 qi :: _ 1の型が正しく推測されないため、これはコンパイルに失敗

    1

    1答えて

    どのようにしてstd :: stringをboost spiritとphoenixで解析するのですか? たとえば、私は1234をint型に解析しましたが、文字列を解析しようとすると解析が失敗します。 qi::alnumを+qi::alnumに置き換えた場合、解析は成功しますが、文字列番号は望ましくない値 "4"を持ちます。 qi :: alnumは1文字にしかマッチしないようです。複数文字の英数字