セマンティックアクションで正当性チェックC++Boost.Xpressiveではcheckで正当性チェックができるのにBoost.Spirit.Qiではできないのかなーと思ったらできるようです。}}ドキュメントを見てもよくわからなかったので、libs/spirit/test/qi/action.cppを見たらそれらしいコードがあったのでした。参照で渡されるpassパラメータをfalseにすればマッチ失敗として扱われます。ここでは、"2"だったらsuccess、それ以外はfailになります。次に、プレースホルダを使って書いてみます。PhoenixではなくBoost.Lambdaを使いました。}}_1は許せるけど、_3って書いても何者なのかわからないですね・・・。}}これでだいぶ使いやすくなりました。qi::epsqi::epsは、ゼロ幅にマッチするパーサーです。Librariesコントリビュータ。boostjp/cpprefjpサイトコアメンバ。blogBoost.Multi-Index作者ブログBoost.Asio作者ブログBoost.Geometry作者ブログBoost.Thread作者ブログboost.develWandboxはてなブログをはじめよう!faith_and_braveさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。