forked from boostorg/iterator
Updated pointee and indirect_reference so that pointee represents the immutability of the pointed-to type via const qualification. The pointee of a proxy-based iterator will be const qualified unless a mutable reference to the value_type can be bound to the returned proxy.
Added a test for pointee Fixed iterator_facade so operator[] result type computation didn't cause a problem with abstract types. Updated iterator_facade operator[] docs for accuracy. Allowed Borland to simply fail the indirect_iterator_member_types test because of its lame const-dropping, instead of trying to work around it. [SVN r21579]
This commit is contained in:
committed by
Peter Dimov
parent
e600d3f65b
commit
69df402f70
@ -11,6 +11,7 @@
|
||||
# include <boost/iterator/iterator_traits.hpp>
|
||||
# include <boost/type_traits/remove_cv.hpp>
|
||||
# include <boost/mpl/apply_if.hpp>
|
||||
# include <boost/pointee.hpp>
|
||||
|
||||
namespace boost {
|
||||
|
||||
@ -19,7 +20,7 @@ namespace detail
|
||||
template <class P>
|
||||
struct smart_ptr_reference
|
||||
{
|
||||
typedef typename P::element_type& type;
|
||||
typedef typename boost::pointee<P>::type& type;
|
||||
};
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user