forked from boostorg/range
Merge branch 'develop'
This commit is contained in:
@ -41,21 +41,12 @@ namespace boost
|
||||
typedef F transform_fn_type;
|
||||
typedef R source_range_type;
|
||||
|
||||
#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
transformed_range( F f, R& r )
|
||||
: base( boost::make_transform_iterator( boost::begin(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 >
|
||||
@ -66,7 +57,6 @@ namespace boost
|
||||
}
|
||||
};
|
||||
|
||||
#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
template< class InputRng, class UnaryFunction >
|
||||
inline transformed_range<UnaryFunction,InputRng>
|
||||
operator|( InputRng& r,
|
||||
@ -82,16 +72,6 @@ namespace boost
|
||||
{
|
||||
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'
|
||||
|
||||
@ -106,7 +86,6 @@ namespace boost
|
||||
range_detail::forwarder<range_detail::transform_holder>();
|
||||
}
|
||||
|
||||
#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
template<class UnaryFunction, class InputRange>
|
||||
inline transformed_range<UnaryFunction, InputRange>
|
||||
transform(InputRange& rng, UnaryFunction fn)
|
||||
@ -120,16 +99,6 @@ namespace boost
|
||||
{
|
||||
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'
|
||||
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ namespace boost
|
||||
template<typename Iterator, typename UnaryFunction>
|
||||
inline UnaryFunction
|
||||
for_each_impl(Iterator first, Iterator last, UnaryFunction fun,
|
||||
typename enable_if<
|
||||
typename ::boost::enable_if<
|
||||
is_reference_wrapper<UnaryFunction>,
|
||||
void
|
||||
>::type* = 0)
|
||||
|
@ -356,7 +356,7 @@ namespace boost
|
||||
OtherDifference,
|
||||
Buffer
|
||||
>& other,
|
||||
typename enable_if<
|
||||
typename ::boost::enable_if<
|
||||
typename mpl::and_<
|
||||
typename is_mutable_reference<OtherReference>::type,
|
||||
typename is_const_reference<Reference>::type
|
||||
@ -387,7 +387,7 @@ namespace boost
|
||||
, OtherDifference
|
||||
, Buffer
|
||||
>& other,
|
||||
typename enable_if<
|
||||
typename ::boost::enable_if<
|
||||
typename mpl::or_<
|
||||
typename mpl::and_<
|
||||
typename is_mutable_reference<OtherReference>::type,
|
||||
@ -423,7 +423,7 @@ namespace boost
|
||||
, OtherDifference
|
||||
, Buffer
|
||||
>& other,
|
||||
typename enable_if<
|
||||
typename ::boost::enable_if<
|
||||
typename is_convertible_to_value_as_reference<
|
||||
OtherReference
|
||||
, Reference
|
||||
|
@ -35,7 +35,7 @@ namespace boost
|
||||
template<class T>
|
||||
struct has_range_iterator_impl<
|
||||
T,
|
||||
BOOST_DEDUCED_TYPENAME enable_if<
|
||||
BOOST_DEDUCED_TYPENAME ::boost::enable_if<
|
||||
BOOST_DEDUCED_TYPENAME mpl::eval_if<is_const<T>,
|
||||
has_type<range_const_iterator<
|
||||
BOOST_DEDUCED_TYPENAME remove_const<T>::type> >,
|
||||
@ -56,7 +56,7 @@ namespace boost
|
||||
template<class T>
|
||||
struct has_range_const_iterator_impl<
|
||||
T,
|
||||
BOOST_DEDUCED_TYPENAME enable_if<
|
||||
BOOST_DEDUCED_TYPENAME ::boost::enable_if<
|
||||
has_type<range_const_iterator<T> >
|
||||
>::type
|
||||
>
|
||||
|
@ -422,7 +422,7 @@ public:
|
||||
template<class SinglePassRange>
|
||||
iterator_range(
|
||||
const SinglePassRange& r,
|
||||
BOOST_DEDUCED_TYPENAME enable_if<
|
||||
BOOST_DEDUCED_TYPENAME ::boost::enable_if<
|
||||
is_compatible_range<const SinglePassRange>
|
||||
>::type* = 0
|
||||
)
|
||||
@ -433,7 +433,7 @@ public:
|
||||
template<class SinglePassRange>
|
||||
iterator_range(
|
||||
SinglePassRange& r,
|
||||
BOOST_DEDUCED_TYPENAME enable_if<
|
||||
BOOST_DEDUCED_TYPENAME ::boost::enable_if<
|
||||
is_compatible_range<SinglePassRange>
|
||||
>::type* = 0
|
||||
)
|
||||
@ -497,7 +497,7 @@ public:
|
||||
// comparison operators
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
template<class SinglePassRange1, class SinglePassRange2>
|
||||
inline BOOST_DEDUCED_TYPENAME enable_if<
|
||||
inline BOOST_DEDUCED_TYPENAME ::boost::enable_if<
|
||||
mpl::or_<
|
||||
is_convertible<
|
||||
const SinglePassRange1&,
|
||||
@ -520,7 +520,7 @@ public:
|
||||
}
|
||||
|
||||
template<class SinglePassRange1, class SinglePassRange2>
|
||||
inline BOOST_DEDUCED_TYPENAME enable_if<
|
||||
inline BOOST_DEDUCED_TYPENAME ::boost::enable_if<
|
||||
mpl::or_<
|
||||
is_convertible<
|
||||
const SinglePassRange1&,
|
||||
@ -543,7 +543,7 @@ public:
|
||||
}
|
||||
|
||||
template<class SinglePassRange1, class SinglePassRange2>
|
||||
inline BOOST_DEDUCED_TYPENAME enable_if<
|
||||
inline BOOST_DEDUCED_TYPENAME ::boost::enable_if<
|
||||
mpl::or_<
|
||||
is_convertible<
|
||||
const SinglePassRange1&,
|
||||
@ -566,7 +566,7 @@ public:
|
||||
}
|
||||
|
||||
template<class SinglePassRange1, class SinglePassRange2>
|
||||
inline BOOST_DEDUCED_TYPENAME enable_if<
|
||||
inline BOOST_DEDUCED_TYPENAME ::boost::enable_if<
|
||||
mpl::or_<
|
||||
is_convertible<
|
||||
const SinglePassRange1&,
|
||||
@ -589,7 +589,7 @@ public:
|
||||
}
|
||||
|
||||
template<class SinglePassRange1, class SinglePassRange2>
|
||||
inline BOOST_DEDUCED_TYPENAME enable_if<
|
||||
inline BOOST_DEDUCED_TYPENAME ::boost::enable_if<
|
||||
mpl::or_<
|
||||
is_convertible<
|
||||
const SinglePassRange1&,
|
||||
@ -612,7 +612,7 @@ public:
|
||||
}
|
||||
|
||||
template<class SinglePassRange1, class SinglePassRange2>
|
||||
inline BOOST_DEDUCED_TYPENAME enable_if<
|
||||
inline BOOST_DEDUCED_TYPENAME ::boost::enable_if<
|
||||
mpl::or_<
|
||||
is_convertible<
|
||||
const SinglePassRange1&,
|
||||
|
@ -30,7 +30,7 @@ namespace boost
|
||||
{
|
||||
|
||||
template<class SinglePassRange>
|
||||
inline typename enable_if<
|
||||
inline typename ::boost::enable_if<
|
||||
has_member_size<SinglePassRange>,
|
||||
typename range_size<const SinglePassRange>::type
|
||||
>::type
|
||||
|
@ -61,7 +61,7 @@ namespace boost
|
||||
template<typename C>
|
||||
struct range_size<
|
||||
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;
|
||||
|
@ -190,7 +190,7 @@ public:
|
||||
template< class ForwardRange2 >
|
||||
sub_range(
|
||||
ForwardRange2& r,
|
||||
BOOST_DEDUCED_TYPENAME enable_if<
|
||||
BOOST_DEDUCED_TYPENAME ::boost::enable_if<
|
||||
is_compatible_range<ForwardRange2>
|
||||
>::type* = 0
|
||||
)
|
||||
@ -201,7 +201,7 @@ public:
|
||||
template< class ForwardRange2 >
|
||||
sub_range(
|
||||
const ForwardRange2& r,
|
||||
BOOST_DEDUCED_TYPENAME enable_if<
|
||||
BOOST_DEDUCED_TYPENAME ::boost::enable_if<
|
||||
is_compatible_range<const ForwardRange2>
|
||||
>::type* = 0
|
||||
)
|
||||
@ -235,7 +235,7 @@ public:
|
||||
{ }
|
||||
|
||||
template<class ForwardRange2>
|
||||
BOOST_DEDUCED_TYPENAME enable_if<
|
||||
BOOST_DEDUCED_TYPENAME ::boost::enable_if<
|
||||
is_compatible_range<ForwardRange2>,
|
||||
sub_range&
|
||||
>::type
|
||||
@ -246,7 +246,7 @@ public:
|
||||
}
|
||||
|
||||
template<class ForwardRange2>
|
||||
BOOST_DEDUCED_TYPENAME enable_if<
|
||||
BOOST_DEDUCED_TYPENAME ::boost::enable_if<
|
||||
is_compatible_range<const ForwardRange2>,
|
||||
sub_range&
|
||||
>::type
|
||||
|
Reference in New Issue
Block a user