この記事はC++ AdventCalendar2014 6日目の記事になります 祝C++14!!祝C++14!!祝C++14!!祝C++14!! C++14においてconstexprの大幅な規制緩和が制定された これによりconstexprにおいてforなどループ文の記述が可能になった 一方そのころTMPは 残念ながらテンプレート用for文が入ることはなかった しかしTMPはfor文を必要としている。forは力だ。力はいい。持ちすぎて困ることはない そしてTMPにかなり近いところにいるconstexprは今、for文を持っている。これを利用しない手はない constexprを用いたフィルターメタ関数の実装 template<class tList,template<class>class Pred> struct filter { static const std::size_t N=tL