applied Ticket #1309 (new Patches)

[SVN r40377]
This commit is contained in:
Thorsten Jørgen Ottosen
2007-10-23 19:56:39 +00:00
parent bbd9fdb7bd
commit aa9158b199

View File

@ -24,13 +24,45 @@
namespace boost namespace boost
{ {
#if BOOST_WORKAROUND(BOOST_MSVC, == 1310)
namespace range_detail_vc7_1
{
template< typename C, typename Sig = void(C) >
struct range_iterator
{
typedef BOOST_RANGE_DEDUCED_TYPENAME
mpl::eval_if_c< is_const<C>::value,
range_const_iterator< typename remove_const<C>::type >,
range_mutable_iterator<C> >::type type;
};
template< typename C, typename T >
struct range_iterator< C, void(T[]) >
{
typedef T* type;
};
}
#endif
template< typename C > template< typename C >
struct range_iterator struct range_iterator
{ {
#if BOOST_WORKAROUND(BOOST_MSVC, == 1310)
typedef BOOST_RANGE_DEDUCED_TYPENAME
range_detail_vc7_1::range_iterator<C>::type type;
#else
typedef BOOST_RANGE_DEDUCED_TYPENAME typedef BOOST_RANGE_DEDUCED_TYPENAME
mpl::eval_if_c< is_const<C>::value, mpl::eval_if_c< is_const<C>::value,
range_const_iterator< typename remove_const<C>::type >, range_const_iterator< typename remove_const<C>::type >,
range_mutable_iterator<C> >::type type; range_mutable_iterator<C> >::type type;
#endif
}; };
} // namespace boost } // namespace boost