Merge branch 'develop'

This commit is contained in:
Neil Groves
2014-03-12 03:43:36 +00:00
8 changed files with 20 additions and 51 deletions

View File

@ -41,21 +41,12 @@ namespace boost
typedef F transform_fn_type; typedef F transform_fn_type;
typedef R source_range_type; typedef R source_range_type;
#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
transformed_range( F f, R& r ) transformed_range( F f, R& r )
: base( boost::make_transform_iterator( boost::begin(r), f ), : base( boost::make_transform_iterator( boost::begin(r), f ),
boost::make_transform_iterator( boost::end(r), f ) ) boost::make_transform_iterator( boost::end(r), f ) )
{ {
} }
#else
transformed_range(F&& f, R&& r)
: base(typename base::iterator(boost::begin(r), std::forward(f),
typename base::iterator(boost::end(r), std::forward(f))))
{
}
#endif
}; };
template< class T > template< class T >
@ -66,7 +57,6 @@ namespace boost
} }
}; };
#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
template< class InputRng, class UnaryFunction > template< class InputRng, class UnaryFunction >
inline transformed_range<UnaryFunction,InputRng> inline transformed_range<UnaryFunction,InputRng>
operator|( InputRng& r, operator|( InputRng& r,
@ -82,16 +72,6 @@ namespace boost
{ {
return transformed_range<UnaryFunction, const InputRng>( f.val, r ); return transformed_range<UnaryFunction, const InputRng>( f.val, r );
} }
#else
template<class InputRng, class UnaryFunction>
inline transformed_range<UnaryFunction,InputRng>
operator|(InputRng&& r,
transform_holder<UnaryFunction>&& f)
{
return transformed_range<UnaryFunction, InputRng>(
f.val, std::forward(r));
}
#endif
} // 'range_detail' } // 'range_detail'
@ -106,7 +86,6 @@ namespace boost
range_detail::forwarder<range_detail::transform_holder>(); range_detail::forwarder<range_detail::transform_holder>();
} }
#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
template<class UnaryFunction, class InputRange> template<class UnaryFunction, class InputRange>
inline transformed_range<UnaryFunction, InputRange> inline transformed_range<UnaryFunction, InputRange>
transform(InputRange& rng, UnaryFunction fn) transform(InputRange& rng, UnaryFunction fn)
@ -120,16 +99,6 @@ namespace boost
{ {
return transformed_range<UnaryFunction, const InputRange>(fn, rng); return transformed_range<UnaryFunction, const InputRange>(fn, rng);
} }
#else
template<typename UnaryFunction, typename InputRange>
inline transformed_range<UnaryFunction, InputRange>
transform(InputRange&& rng, UnaryFunction&& fn)
{
return transformed_range<UnaryFunction, InputRange>(
std::forward(fn), std::forward(rng));
}
#endif
} // 'adaptors' } // 'adaptors'
} }

View File

@ -32,7 +32,7 @@ namespace boost
template<typename Iterator, typename UnaryFunction> template<typename Iterator, typename UnaryFunction>
inline UnaryFunction inline UnaryFunction
for_each_impl(Iterator first, Iterator last, UnaryFunction fun, for_each_impl(Iterator first, Iterator last, UnaryFunction fun,
typename enable_if< typename ::boost::enable_if<
is_reference_wrapper<UnaryFunction>, is_reference_wrapper<UnaryFunction>,
void void
>::type* = 0) >::type* = 0)

View File

@ -356,7 +356,7 @@ namespace boost
OtherDifference, OtherDifference,
Buffer Buffer
>& other, >& other,
typename enable_if< typename ::boost::enable_if<
typename mpl::and_< typename mpl::and_<
typename is_mutable_reference<OtherReference>::type, typename is_mutable_reference<OtherReference>::type,
typename is_const_reference<Reference>::type typename is_const_reference<Reference>::type
@ -387,7 +387,7 @@ namespace boost
, OtherDifference , OtherDifference
, Buffer , Buffer
>& other, >& other,
typename enable_if< typename ::boost::enable_if<
typename mpl::or_< typename mpl::or_<
typename mpl::and_< typename mpl::and_<
typename is_mutable_reference<OtherReference>::type, typename is_mutable_reference<OtherReference>::type,
@ -423,7 +423,7 @@ namespace boost
, OtherDifference , OtherDifference
, Buffer , Buffer
>& other, >& other,
typename enable_if< typename ::boost::enable_if<
typename is_convertible_to_value_as_reference< typename is_convertible_to_value_as_reference<
OtherReference OtherReference
, Reference , Reference

View File

@ -35,7 +35,7 @@ namespace boost
template<class T> template<class T>
struct has_range_iterator_impl< struct has_range_iterator_impl<
T, T,
BOOST_DEDUCED_TYPENAME enable_if< BOOST_DEDUCED_TYPENAME ::boost::enable_if<
BOOST_DEDUCED_TYPENAME mpl::eval_if<is_const<T>, BOOST_DEDUCED_TYPENAME mpl::eval_if<is_const<T>,
has_type<range_const_iterator< has_type<range_const_iterator<
BOOST_DEDUCED_TYPENAME remove_const<T>::type> >, BOOST_DEDUCED_TYPENAME remove_const<T>::type> >,
@ -56,7 +56,7 @@ namespace boost
template<class T> template<class T>
struct has_range_const_iterator_impl< struct has_range_const_iterator_impl<
T, T,
BOOST_DEDUCED_TYPENAME enable_if< BOOST_DEDUCED_TYPENAME ::boost::enable_if<
has_type<range_const_iterator<T> > has_type<range_const_iterator<T> >
>::type >::type
> >

View File

@ -422,7 +422,7 @@ public:
template<class SinglePassRange> template<class SinglePassRange>
iterator_range( iterator_range(
const SinglePassRange& r, const SinglePassRange& r,
BOOST_DEDUCED_TYPENAME enable_if< BOOST_DEDUCED_TYPENAME ::boost::enable_if<
is_compatible_range<const SinglePassRange> is_compatible_range<const SinglePassRange>
>::type* = 0 >::type* = 0
) )
@ -433,7 +433,7 @@ public:
template<class SinglePassRange> template<class SinglePassRange>
iterator_range( iterator_range(
SinglePassRange& r, SinglePassRange& r,
BOOST_DEDUCED_TYPENAME enable_if< BOOST_DEDUCED_TYPENAME ::boost::enable_if<
is_compatible_range<SinglePassRange> is_compatible_range<SinglePassRange>
>::type* = 0 >::type* = 0
) )
@ -497,7 +497,7 @@ public:
// comparison operators // comparison operators
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
template<class SinglePassRange1, class SinglePassRange2> template<class SinglePassRange1, class SinglePassRange2>
inline BOOST_DEDUCED_TYPENAME enable_if< inline BOOST_DEDUCED_TYPENAME ::boost::enable_if<
mpl::or_< mpl::or_<
is_convertible< is_convertible<
const SinglePassRange1&, const SinglePassRange1&,
@ -520,7 +520,7 @@ public:
} }
template<class SinglePassRange1, class SinglePassRange2> template<class SinglePassRange1, class SinglePassRange2>
inline BOOST_DEDUCED_TYPENAME enable_if< inline BOOST_DEDUCED_TYPENAME ::boost::enable_if<
mpl::or_< mpl::or_<
is_convertible< is_convertible<
const SinglePassRange1&, const SinglePassRange1&,
@ -543,7 +543,7 @@ public:
} }
template<class SinglePassRange1, class SinglePassRange2> template<class SinglePassRange1, class SinglePassRange2>
inline BOOST_DEDUCED_TYPENAME enable_if< inline BOOST_DEDUCED_TYPENAME ::boost::enable_if<
mpl::or_< mpl::or_<
is_convertible< is_convertible<
const SinglePassRange1&, const SinglePassRange1&,
@ -566,7 +566,7 @@ public:
} }
template<class SinglePassRange1, class SinglePassRange2> template<class SinglePassRange1, class SinglePassRange2>
inline BOOST_DEDUCED_TYPENAME enable_if< inline BOOST_DEDUCED_TYPENAME ::boost::enable_if<
mpl::or_< mpl::or_<
is_convertible< is_convertible<
const SinglePassRange1&, const SinglePassRange1&,
@ -589,7 +589,7 @@ public:
} }
template<class SinglePassRange1, class SinglePassRange2> template<class SinglePassRange1, class SinglePassRange2>
inline BOOST_DEDUCED_TYPENAME enable_if< inline BOOST_DEDUCED_TYPENAME ::boost::enable_if<
mpl::or_< mpl::or_<
is_convertible< is_convertible<
const SinglePassRange1&, const SinglePassRange1&,
@ -612,7 +612,7 @@ public:
} }
template<class SinglePassRange1, class SinglePassRange2> template<class SinglePassRange1, class SinglePassRange2>
inline BOOST_DEDUCED_TYPENAME enable_if< inline BOOST_DEDUCED_TYPENAME ::boost::enable_if<
mpl::or_< mpl::or_<
is_convertible< is_convertible<
const SinglePassRange1&, const SinglePassRange1&,

View File

@ -30,7 +30,7 @@ namespace boost
{ {
template<class SinglePassRange> template<class SinglePassRange>
inline typename enable_if< inline typename ::boost::enable_if<
has_member_size<SinglePassRange>, has_member_size<SinglePassRange>,
typename range_size<const SinglePassRange>::type typename range_size<const SinglePassRange>::type
>::type >::type

View File

@ -61,7 +61,7 @@ namespace boost
template<typename C> template<typename C>
struct range_size< struct range_size<
C, C,
BOOST_DEDUCED_TYPENAME enable_if<has_size_type<C>, void>::type BOOST_DEDUCED_TYPENAME ::boost::enable_if<has_size_type<C>, void>::type
> >
{ {
typedef BOOST_DEDUCED_TYPENAME C::size_type type; typedef BOOST_DEDUCED_TYPENAME C::size_type type;

View File

@ -190,7 +190,7 @@ public:
template< class ForwardRange2 > template< class ForwardRange2 >
sub_range( sub_range(
ForwardRange2& r, ForwardRange2& r,
BOOST_DEDUCED_TYPENAME enable_if< BOOST_DEDUCED_TYPENAME ::boost::enable_if<
is_compatible_range<ForwardRange2> is_compatible_range<ForwardRange2>
>::type* = 0 >::type* = 0
) )
@ -201,7 +201,7 @@ public:
template< class ForwardRange2 > template< class ForwardRange2 >
sub_range( sub_range(
const ForwardRange2& r, const ForwardRange2& r,
BOOST_DEDUCED_TYPENAME enable_if< BOOST_DEDUCED_TYPENAME ::boost::enable_if<
is_compatible_range<const ForwardRange2> is_compatible_range<const ForwardRange2>
>::type* = 0 >::type* = 0
) )
@ -235,7 +235,7 @@ public:
{ } { }
template<class ForwardRange2> template<class ForwardRange2>
BOOST_DEDUCED_TYPENAME enable_if< BOOST_DEDUCED_TYPENAME ::boost::enable_if<
is_compatible_range<ForwardRange2>, is_compatible_range<ForwardRange2>,
sub_range& sub_range&
>::type >::type
@ -246,7 +246,7 @@ public:
} }
template<class ForwardRange2> template<class ForwardRange2>
BOOST_DEDUCED_TYPENAME enable_if< BOOST_DEDUCED_TYPENAME ::boost::enable_if<
is_compatible_range<const ForwardRange2>, is_compatible_range<const ForwardRange2>,
sub_range& sub_range&
>::type >::type