forked from boostorg/iterator
merging in updates
[SVN r21975]
This commit is contained in:
@ -175,7 +175,7 @@ main()
|
||||
> c_iter_t;
|
||||
|
||||
# ifndef NO_MUTABLE_CONST_RA_ITERATOR_INTEROPERABILITY
|
||||
boost::function_requires< boost_concepts::InteroperableConcept<iter_t, c_iter_t> >();
|
||||
boost::function_requires< boost_concepts::InteroperableIteratorConcept<iter_t, c_iter_t> >();
|
||||
# endif
|
||||
}
|
||||
|
||||
|
@ -13,8 +13,17 @@ int main()
|
||||
boost::function_requires< boost_concepts::WritableLvalueIteratorConcept<rev_iter> >();
|
||||
boost::function_requires< boost_concepts::RandomAccessTraversalConcept<rev_iter> >();
|
||||
boost::function_requires< boost::RandomAccessIteratorConcept<rev_iter> >();
|
||||
boost::function_requires< boost_concepts::InteroperableConcept<rev_iter, c_rev_iter> >();
|
||||
boost::function_requires< boost_concepts::InteroperableIteratorConcept<rev_iter, c_rev_iter> >();
|
||||
}
|
||||
|
||||
// Many compilers' builtin container iterators don't interoperate well, though
|
||||
// STLport fixes that problem.
|
||||
#if defined(__SGI_STL_PORT) \
|
||||
|| !BOOST_WORKAROUND(__GNUC__, <= 2) \
|
||||
&& !(BOOST_WORKAROUND(__GNUC__, == 3) && BOOST_WORKAROUND(__GNUC_MINOR__, <= 1)) \
|
||||
&& !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551)) \
|
||||
&& !BOOST_WORKAROUND(__LIBCOMO_VERSION__, BOOST_TESTED_AT(29)) \
|
||||
&& !BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, <= 1)
|
||||
{
|
||||
typedef boost::reverse_iterator<std::list<int>::iterator> rev_iter;
|
||||
typedef boost::reverse_iterator<std::list<int>::const_iterator> c_rev_iter;
|
||||
@ -22,8 +31,9 @@ int main()
|
||||
boost::function_requires< boost_concepts::ReadableLvalueIteratorConcept<c_rev_iter> >();
|
||||
boost::function_requires< boost_concepts::BidirectionalTraversalConcept<c_rev_iter> >();
|
||||
boost::function_requires< boost::BidirectionalIteratorConcept<c_rev_iter> >();
|
||||
boost::function_requires< boost_concepts::InteroperableConcept<rev_iter, c_rev_iter> >();
|
||||
boost::function_requires< boost_concepts::InteroperableIteratorConcept<rev_iter, c_rev_iter> >();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
return boost::exit_success;
|
||||
}
|
||||
|
@ -115,7 +115,7 @@ main()
|
||||
typedef boost::transform_iterator<adaptable_mult_functor, int*> iter_t;
|
||||
typedef boost::transform_iterator<adaptable_mult_functor, int const*> c_iter_t;
|
||||
|
||||
boost::function_requires< boost_concepts::InteroperableConcept<iter_t, c_iter_t> >();
|
||||
boost::function_requires< boost_concepts::InteroperableIteratorConcept<iter_t, c_iter_t> >();
|
||||
}
|
||||
|
||||
// Test transform_iterator
|
||||
|
Reference in New Issue
Block a user