【C++】template 統合スレ -- STL/Boost/Loki, etc.
■ このスレッドは過去ログ倉庫に格納されています
0686デフォルトの名無しさん
NGNGその日記の元ネタは cuj web site の記事。URL を忘れたので元記事へのリンクを
張らなかったんだが、google に掛け合って見つけてきたよ。制限事項に関しても詳
しく書いてあるから、ざっと読んでおくと良いと思いかと。
http://www.cuj.com/articles/1999/9902/9902h/9902h.htm?topic=articles
これに関連した小ネタだと、std::for_each のような一定範囲を扱うアルゴリズムに
次のような多重定義をしておくってのもある。for_each や find_if は、コンテナ全部
に適用したいケースが多いから。
template <class T, class TFunc>
inline TFunc for_each(T& col, TFunc f)
{
return std::for_each(col.begin(), col.end(), f);
}
template <class T, int N, class TFunc>
inline TFunc for_each(T (&ary)[N], TFunc f)
{
return std::for_each(&ary[0], &ary[N], f);
}
template <class T, int N, class TFunc>
inline TFunc for_each(T const (&ary)[N], TFunc f)
{
return std::for_each(&ary[0], &ary[N], f);
}
■ このスレッドは過去ログ倉庫に格納されています