私は機能を持っています(実際には部分的に特化しています)
template<typename T>
T generate(){
}
それを使用するには、暗黙的にテンプレート型を入力する必要があります。
int v = generate<int>();
n
ここで、出力イテレータを取得し、この関数を使用して値を生成する関数を書きたいと思います。
template<typename OI>
fill(size_t n, OI it){
for(size_t i = 0; i < n; ++i){
*(it++) = generate<__TYPE???__>();
}
}
私は、実際に値を持つイテレータの場合、それが指摘されていることを知っていますvalue_type
。しかし、たとえばback_insert_iterator
value_type
is void になった場合、それは私が望んでいることではありません。
それで、このタイプを取得する方法はありますか?