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

K>Здравствуйте, korzhik, Вы писали:


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

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

K>как всегда в boost'е нашлось решение:

K>
K>#include <algorithm>
K>#include <iostream>
K>#include <iterator>
K>#include <vector>

K>#include "boost/detail/iterator.hpp"

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

K>void main()
K>{
K>    std::list<int> v;
K>    print(v.begin(),v.end());
K>}
K>



Благодарю. Однако — будет ли Буст успешно работать с ВэЦэ6?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.