Re[4]: std::iterator_traits<Iter>::value_type
От: korzhik Россия  
Дата: 19.08.04 08:32
Оценка:
Здравствуйте, korzhik, Вы писали:

K>Надо добавить специализацию структуры iterator_traits для указателей и для указателей на константу

K>это называется частичная специализация по виду аргумента шаблона.
K>VC 6.0 не поддерживает частичную специализацию.
K>Как быть не знаю. Возможно есть какой-нибудь трюк.

как всегда в boost'е нашлось решение:
#include <algorithm>
#include <iostream>
#include <iterator>
#include <vector>

#include "boost/detail/iterator.hpp"

template<typename Iter>
void print(Iter first, Iter last) 
{
    typedef typename boost::detail::iterator_traits<Iter>::value_type T;
    std::cout << std::endl;
}

void main()
{
    std::list<int> v;
    print(v.begin(),v.end());
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.