mirror of
https://github.com/boostorg/iterator.git
synced 2025-07-30 04:47:20 +02:00
vc6 workarounds
[SVN r20869]
This commit is contained in:
@ -63,7 +63,7 @@ struct minimum_category_impl<false,false>
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class T1, class T2>
|
template <class T1 = mpl::_1, class T2 = mpl::_2>
|
||||||
struct minimum_category
|
struct minimum_category
|
||||||
{
|
{
|
||||||
typedef minimum_category_impl<
|
typedef minimum_category_impl<
|
||||||
@ -75,7 +75,15 @@ struct minimum_category
|
|||||||
typedef typename inner::type type;
|
typedef typename inner::type type;
|
||||||
|
|
||||||
BOOST_MPL_AUX_LAMBDA_SUPPORT(2,minimum_category,(T1,T2))
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(2,minimum_category,(T1,T2))
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct minimum_category<mpl::_1,mpl::_2>
|
||||||
|
{
|
||||||
|
template <class T1, class T2>
|
||||||
|
struct apply : minimum_category<T1,T2>
|
||||||
|
{};
|
||||||
|
};
|
||||||
|
|
||||||
# if BOOST_WORKAROUND(BOOST_MSVC, == 1200)
|
# if BOOST_WORKAROUND(BOOST_MSVC, == 1200)
|
||||||
template <>
|
template <>
|
||||||
|
@ -261,16 +261,17 @@ namespace boost {
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
typedef typename tuple_meta_transform<
|
typedef typename tuple_meta_transform<
|
||||||
typename Tuple::tail_type
|
BOOST_DEDUCED_TYPENAME Tuple::tail_type
|
||||||
, Fun
|
, Fun
|
||||||
>::type transformed_tail_type;
|
>::type transformed_tail_type;
|
||||||
|
|
||||||
return tuples::cons<
|
return tuples::cons<
|
||||||
typename mpl::apply1<Fun, typename Tuple::head_type>::type
|
BOOST_DEDUCED_TYPENAME mpl::apply1<
|
||||||
|
Fun, BOOST_DEDUCED_TYPENAME Tuple::head_type
|
||||||
|
>::type
|
||||||
, transformed_tail_type
|
, transformed_tail_type
|
||||||
>(
|
>(
|
||||||
f(boost::tuples::get<0>(t)),
|
f(boost::tuples::get<0>(t)), tuple_transform(t.get_tail(), f)
|
||||||
tuple_transform(t.get_tail(), f)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -382,12 +383,12 @@ namespace boost {
|
|||||||
{
|
{
|
||||||
typedef typename tuple_impl_specific::tuple_meta_transform<
|
typedef typename tuple_impl_specific::tuple_meta_transform<
|
||||||
IteratorTuple
|
IteratorTuple
|
||||||
, iterator_traversal<mpl::_1>
|
, iterator_traversal<>
|
||||||
>::type tuple_of_traversal_tags;
|
>::type tuple_of_traversal_tags;
|
||||||
|
|
||||||
typedef typename tuple_impl_specific::tuple_meta_accumulate<
|
typedef typename tuple_impl_specific::tuple_meta_accumulate<
|
||||||
tuple_of_traversal_tags
|
tuple_of_traversal_tags
|
||||||
, minimum_category<mpl::_1,mpl::_2>
|
, minimum_category<>
|
||||||
, random_access_traversal_tag
|
, random_access_traversal_tag
|
||||||
>::type type;
|
>::type type;
|
||||||
};
|
};
|
||||||
@ -557,7 +558,7 @@ namespace boost {
|
|||||||
{
|
{
|
||||||
detail::tuple_impl_specific::tuple_for_each(
|
detail::tuple_impl_specific::tuple_for_each(
|
||||||
m_iterator_tuple,
|
m_iterator_tuple,
|
||||||
detail::advance_iterator<typename super_t::difference_type>(n)
|
detail::advance_iterator<BOOST_DEDUCED_TYPENAME super_t::difference_type>(n)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
// Incrementing a zip iterator means to increment all iterators in
|
// Incrementing a zip iterator means to increment all iterators in
|
||||||
|
Reference in New Issue
Block a user