可以說我有長度的MPL序列types
N
(例如boost::variant<int,string,double>
和類型boost::variant::types
序列):MPL序列和遞歸代碼生成
我想遞歸地產生用於每一個可能的索引下面的代碼。 正是通過if語句運行,直到w==N
void make(int w){
if(w == 0){
typename boost::mpl::at_c<types,0>::type t;
// Some code
}else if (w==1){
typename boost::mpl::at_c<types,1>::type t;
// Some code
}...
.
.
.
}else if(w==N){
typename boost::mpl::at_c<types,2>::type t;
// Some code
}else{
// Runtime ERROR
}
}
我怎樣才能做到這一點?
(發佈這個已經是時間不夠了,我可能會找點時間來詳細說明一下例子) – sehe
那真的很有幫助! – Gabriel