Я хочу иметь возможность передавать два соединенных итератора как один, чтобы использовать преимущества некоторых stl-подобных алгоритмов (таких как TBB), поэтому я делаю собственный итератор, который присоединяется к ним, но поражает некоторые камни преткновения.
Мне нужно специализировать итератор, однако он не позволит мне в общем случае указать параметр шаблона.
Вот так:
template<typename IT1, typename IT2>
struct multi_iter : public std::iterator<
std::output_iterator_tag,
std::pair<IT1::value_type&, IT2::value_type&> >
{
.
:
Однако это позволит мне сделать это, но это не то, что я хочу после
template<typename IT1, typename IT2>
struct multi_iter : public std::iterator<
std::output_iterator_tag,
std::pair<int&, int&> >
{
.
:
Я получаю эту ошибку
multi_iter.cpp:12:53: error: template argument 2 is invalid
multi_iter.cpp:12:55: error: template argument 2 is invalid
multi_iter.cpp:12:55: error: template argument 4 is invalid
multi_iter.cpp:12:55: error: template argument 5 is invalid
.
:
У меня есть пара std ::
Любая помощь будет принята с благодарностью.
Спасибо