mirror of
https://github.com/boostorg/detail.git
synced 2025-07-29 20:07:15 +02:00
Removed code-breaking change from boost/detail/iterator.hpp and
corresponding workarounds from tests. Added permutation_iterator_test to the suite after fixing it up -- it was riddled with bugs! [SVN r19841]
This commit is contained in:
@ -284,20 +284,6 @@ template<class P> class please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqual
|
||||
|
||||
template<class P>
|
||||
struct pointer_value_type
|
||||
# if BOOST_WORKAROUND(BOOST_MSVC, == 1300) || BOOST_WORKAROUND(__EDG_VERSION__, != 0)
|
||||
// Special formulation required to get
|
||||
// please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee
|
||||
// to show up in vc7 errors. It's better to use the other one if
|
||||
// possible because it means you can use the other members of
|
||||
// iterator_traits
|
||||
: mpl::apply_if<
|
||||
is_same<P, typename remove_pointer<P>::type>
|
||||
, please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee<P>
|
||||
, remove_const<
|
||||
typename remove_pointer<P>::type
|
||||
>
|
||||
>
|
||||
# else
|
||||
: mpl::if_<
|
||||
is_same<P, typename remove_pointer<P>::type>
|
||||
, please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee<P>
|
||||
@ -305,31 +291,17 @@ struct pointer_value_type
|
||||
typename remove_pointer<P>::type
|
||||
>::type
|
||||
>
|
||||
# endif
|
||||
{
|
||||
};
|
||||
|
||||
|
||||
template<class P>
|
||||
struct pointer_reference
|
||||
# if BOOST_WORKAROUND(BOOST_MSVC, == 1300) || BOOST_WORKAROUND(__EDG_VERSION__, != 0)
|
||||
// Special formulation required to get
|
||||
// please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee to
|
||||
// show up in vc7 errors. It's better to use the other one if
|
||||
// possible because it means you can use the other members of
|
||||
// iterator_traits
|
||||
: mpl::apply_if<
|
||||
is_same<P, typename remove_pointer<P>::type>
|
||||
, please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee<P>
|
||||
, add_reference<typename remove_pointer<P>::type>
|
||||
>
|
||||
# else
|
||||
: mpl::if_<
|
||||
is_same<P, typename remove_pointer<P>::type>
|
||||
, please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee<P>
|
||||
, typename remove_pointer<P>::type&
|
||||
>
|
||||
# endif
|
||||
{
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user