Hi,
I'm trying to transparently get the type of a shared_ptr or a pod
pointer using iterator_traits::value_type. This fails on shared_ptr<T>
with the following message:
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_iterator_base_types.h:
In instantiation of 'std::iterator_traits':
crap.cc:5: instantiated from here
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_iterator_base_types.h:129:
error: no type named 'iterator_category' in 'class boost::shared_ptr<int>'
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_iterator_base_types.h:131:
error: no type named 'difference_type' in 'class boost::shared_ptr<int>'
It seems shared_ptr needs difference_type and iterator_category for this
to work. Is there another way to accomplish what I'm trying to do?
Regards,
/Patrik