C++で遊ぼう2010-07-09qi::auto_で簡易パースC++qi::auto_は、各データごとに特殊化された方法で構文解析するパーサーです。intは以下のようにしてパースできます。123);}ただ、これだけであればlexical_castとかを使えばいいので特にありがたみは感じられません。qi::auto_は主に、これらの基本データ型のパースを基礎として、複合データ型やデータ構造をパースするのに使用します。std::vectorにパースしてみましょう。}}{1,2,3}{1,2,3}{1.2,2.3,3.4}区切り文字を指定するだけで、内部に入ってる要素を自動的に推論し、簡単にパースできています。同じ方法で、std::listにもパースすることができます。次に、ユーザー定義の型をパースしてみます。std::endl;}123Akira25ここでは、以下のことを行っています。boost::spirit::traits::create_parserを特殊化し、型のパース方法を定義するこの方法は、何度もパースが必要になるような場合や、ライブラリとして提供する場合に必要になるでしょう。qi::epsqi::epsは、ゼロ幅にマッチするパーサーです。パース結果の型パース結果の型は、qi::ruleのattr_typeでとれるみたいです。Librariesコントリビュータ。boostjp/cpprefjpサイトコアメンバ。blogBoost.Multi-Index作者ブログBoost.Asio作者ブログBoost.Geometry作者ブログBoost.Thread作者ブログboost.develWandboxはてなブログをはじめよう!faith_and_braveさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。