Merged ADL protection patch from Neil Groves

[SVN r55424]
This commit is contained in:
Pavol Droba
2009-08-05 20:01:10 +00:00
parent 236b142308
commit e439792494
24 changed files with 406 additions and 385 deletions

View File

@ -74,11 +74,13 @@ namespace boost {
RangeT& Input,
FinderT Finder )
{
function_requires<
FinderConcept<FinderT,
BOOST_STRING_TYPENAME range_iterator<RangeT>::type> >();
BOOST_CONCEPT_ASSERT((
FinderConcept<
FinderT,
BOOST_STRING_TYPENAME range_iterator<RangeT>::type>
));
iterator_range<BOOST_STRING_TYPENAME range_iterator<RangeT>::type> lit_input(as_literal(Input));
iterator_range<BOOST_STRING_TYPENAME range_iterator<RangeT>::type> lit_input(::boost::as_literal(Input));
typedef BOOST_STRING_TYPENAME
range_iterator<RangeT>::type input_iterator_type;
@ -94,12 +96,12 @@ namespace boost {
transform_iter_type;
transform_iter_type itBegin=
make_transform_iterator(
::boost::make_transform_iterator(
find_iterator_type( ::boost::begin(lit_input), InputEnd, Finder ),
copy_range_type());
transform_iter_type itEnd=
make_transform_iterator(
::boost::make_transform_iterator(
find_iterator_type(),
copy_range_type());
@ -143,11 +145,12 @@ namespace boost {
RangeT& Input,
FinderT Finder )
{
function_requires<
BOOST_CONCEPT_ASSERT((
FinderConcept<FinderT,
BOOST_STRING_TYPENAME range_iterator<RangeT>::type> >();
BOOST_STRING_TYPENAME range_iterator<RangeT>::type>
));
iterator_range<BOOST_STRING_TYPENAME range_iterator<RangeT>::type> lit_input(as_literal(Input));
iterator_range<BOOST_STRING_TYPENAME range_iterator<RangeT>::type> lit_input(::boost::as_literal(Input));
typedef BOOST_STRING_TYPENAME
range_iterator<RangeT>::type input_iterator_type;
@ -163,12 +166,12 @@ namespace boost {
transform_iter_type;
transform_iter_type itBegin=
make_transform_iterator(
::boost::make_transform_iterator(
find_iterator_type( ::boost::begin(lit_input), InputEnd, Finder ),
copy_range_type() );
transform_iter_type itEnd=
make_transform_iterator(
::boost::make_transform_iterator(
find_iterator_type(),
copy_range_type() );