mirror of
https://github.com/boostorg/iterator.git
synced 2025-08-01 05:44:32 +02:00
MSVC fixes.
[SVN r1408]
This commit is contained in:
@@ -95,4 +95,10 @@
|
|||||||
# define BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
|
# define BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
|
||||||
|
# define BOOST_ARG_DEPENDENT_TYPENAME typename
|
||||||
|
# else
|
||||||
|
# define BOOST_ARG_DEPENDENT_TYPENAME
|
||||||
|
# endif
|
||||||
|
|
||||||
// no include guard multiple inclusion intended
|
// no include guard multiple inclusion intended
|
||||||
|
@@ -17,6 +17,7 @@
|
|||||||
#undef BOOST_NO_IS_CONVERTIBLE
|
#undef BOOST_NO_IS_CONVERTIBLE
|
||||||
#undef BOOST_NO_IS_CONVERTIBLE_TEMPLATE
|
#undef BOOST_NO_IS_CONVERTIBLE_TEMPLATE
|
||||||
#undef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
|
#undef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
|
||||||
|
#undef BOOST_ARG_DEPENDENT_TYPENAME
|
||||||
|
|
||||||
#ifdef BOOST_ITERATOR_CONFIG_DEF
|
#ifdef BOOST_ITERATOR_CONFIG_DEF
|
||||||
# undef BOOST_ITERATOR_CONFIG_DEF
|
# undef BOOST_ITERATOR_CONFIG_DEF
|
||||||
|
@@ -276,7 +276,7 @@ namespace boost
|
|||||||
BOOST_STATIC_ASSERT(
|
BOOST_STATIC_ASSERT(
|
||||||
(detail::is_tag<
|
(detail::is_tag<
|
||||||
random_access_traversal_tag
|
random_access_traversal_tag
|
||||||
, typename super_t::iterator_category::traversal
|
, BOOST_ARG_DEPENDENT_TYPENAME super_t::iterator_category::traversal
|
||||||
>::value)
|
>::value)
|
||||||
);
|
);
|
||||||
m_iterator += n;
|
m_iterator += n;
|
||||||
@@ -289,7 +289,7 @@ namespace boost
|
|||||||
BOOST_STATIC_ASSERT(
|
BOOST_STATIC_ASSERT(
|
||||||
(detail::is_tag<
|
(detail::is_tag<
|
||||||
bidirectional_traversal_tag
|
bidirectional_traversal_tag
|
||||||
, typename super_t::iterator_category::traversal
|
, BOOST_ARG_DEPENDENT_TYPENAME super_t::iterator_category::traversal
|
||||||
>::value)
|
>::value)
|
||||||
);
|
);
|
||||||
--m_iterator;
|
--m_iterator;
|
||||||
@@ -304,7 +304,7 @@ namespace boost
|
|||||||
BOOST_STATIC_ASSERT(
|
BOOST_STATIC_ASSERT(
|
||||||
(detail::is_tag<
|
(detail::is_tag<
|
||||||
random_access_traversal_tag
|
random_access_traversal_tag
|
||||||
, typename super_t::iterator_category::traversal
|
, BOOST_ARG_DEPENDENT_TYPENAME super_t::iterator_category::traversal
|
||||||
>::value)
|
>::value)
|
||||||
);
|
);
|
||||||
// Maybe readd with same_distance
|
// Maybe readd with same_distance
|
||||||
|
@@ -32,14 +32,14 @@ namespace boost
|
|||||||
{
|
{
|
||||||
|
|
||||||
template <class UnaryFunction>
|
template <class UnaryFunction>
|
||||||
struct result
|
struct function_object_result
|
||||||
{
|
{
|
||||||
typedef typename UnaryFunction::result_type type;
|
typedef typename UnaryFunction::result_type type;
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||||
template <class Return, class Argument>
|
template <class Return, class Argument>
|
||||||
struct result<Return(*)(Argument)>
|
struct function_object_result<Return(*)(Argument)>
|
||||||
{
|
{
|
||||||
typedef Return type;
|
typedef Return type;
|
||||||
};
|
};
|
||||||
@@ -59,7 +59,7 @@ namespace boost
|
|||||||
|
|
||||||
typedef typename mpl::apply_if<
|
typedef typename mpl::apply_if<
|
||||||
is_same< Reference, use_default >
|
is_same< Reference, use_default >
|
||||||
, result<UnaryFunction>
|
, function_object_result<UnaryFunction>
|
||||||
, mpl::identity<Reference>
|
, mpl::identity<Reference>
|
||||||
>::type result_type;
|
>::type result_type;
|
||||||
|
|
||||||
@@ -140,7 +140,7 @@ namespace boost
|
|||||||
return transform_iterator<UnaryFunction, Iterator>(it, fun);
|
return transform_iterator<UnaryFunction, Iterator>(it, fun);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
|
||||||
template <class Return, class Argument, class Iterator>
|
template <class Return, class Argument, class Iterator>
|
||||||
transform_iterator< Return (*)(Argument), Iterator, Return>
|
transform_iterator< Return (*)(Argument), Iterator, Return>
|
||||||
make_transform_iterator(Iterator it, Return (*fun)(Argument))
|
make_transform_iterator(Iterator it, Return (*fun)(Argument))
|
||||||
|
Reference in New Issue
Block a user