【C++】template 統合スレ -- Part5
■ このスレッドは過去ログ倉庫に格納されています
0695デフォルトの名無しさん
NGNGマクロは引数を複数取るtemplateと非常に相性悪いので,このままだと拡張性に乏しいでしょう.
あるいは構文が非常に汚くなるか.(これはBoost.PPを使っても同じかと思います)
regist_replace_holderの使い方など制約も多いですし.
Boost1.32.0から,mplのメタ関数クラスの構文が変更されていて,
このうちのlamda & applyがまさにtemplate引数の書き換えを行っているようなので,
これの実装を読み解けばTMPの範囲内で希望の機能が実現できるかも・・・です.
#include<iostream>
#include<typeinfo>
#include<boost/mpl/apply.hpp> // from Boost1.32.0
#include<boost/mpl/lambda.hpp> // from Boost1.32.0
template<class T> struct temp1{};
int main(){
using namespace boost::mpl;
std::cout << typeid( apply<temp1<_1>, int>::type ).name() << std::endl;
}
■ このスレッドは過去ログ倉庫に格納されています