通常のブースト mpl で正常に動作するメタ プログラムがあります。次のようになります。
template <class Vector, class ResultKind, class Custom>
struct FilterChildrenIfNotOk
{
typedef typename
copy_if<Vector,
or_<is_same<boost::mpl::placeholders::_1, ResultKind>,
IsOk<boost::mpl::placeholders::_1,
ResultKind,
Custom> > >::type type;
};
可変個引数テンプレート ベクトル (mpl::vector) を使用してコンパイルしようとしています。そのために、ここにある可変個引数テンプレート ベクトルの実装を使用しています: https://svn.boost.org/svn/boost/sandbox/variadic_templates
いくつかのテストはありますが、レポで copy_if、remove_if、count_if の使用可能な実装を見つけることができませんでした。それらのメタプログラムはそこにありますが、私はそれらを見つけることができませんか? または、mpl プレースホルダーもサポートするように、そのうちの 1 つを実装するのを手伝ってくれませんか。事前にご協力いただきありがとうございます。