D言語 Part24
■ このスレッドは過去ログ倉庫に格納されています
0121デフォルトの名無しさん
2010/02/22(月) 19:34:17this(){
buf = new WrapperBase[0];
}
void chain(R)(R r){
buf ~= new Wrapper!(R)(r);
}
/**/
private:
static abstract class WrapperBase{}
static class Wrapper(R)if(isForwardRange!(R)&&isImplicitlyConvertible!(ElementType!(R),T)):WrapperBase{
this(R r){this.r = r;}
private:
R r;
}
WrapperBase[]buf;
}
void main(){
auto hoge = new Hoge!(char)();
hoge.chain("test");
/**/
}
「conceptが合っていれば、どんな型でも保持できる」筈。
んでさー、ForwardRangeでないInputRangeってどうやって作ればいいの?
■ このスレッドは過去ログ倉庫に格納されています