タイプを出力イテレータから消去するにはstd::insert_iterator
とstd::back_insert_iterator
?これを行うにはブーストany_iterator
を使用することは可能ですか?タイプ消去C++出力イテレータ
#include <boost/range.hpp>
#include <boost/range/detail/any_iterator.hpp>
#include <vector>
typedef boost::range_detail::any_iterator<
int, boost::incrementable_traversal_tag, int &, std::ptrdiff_t > It;
int main()
{
std::vector<int> v;
It outIt(v.begin()); // compiles
It inserter(std::back_inserter(v)); // does not compile
return 0;
}
「消去タイプ」とはどういう意味ですか? –
@EitanT:「C++型消去」を探すべきですが、「共通インタフェースを持つ多種多様な型を同じインタフェースを持つ1つの型に変換するプロセス」という短い定義です。 Boost :: Anyは標準的な例です。 –
@JesseGood Aaa私はそれが何であるかを知っています。私はそれが「タイプ消去」と呼ばれることを知らなかった。ドー! –