mirror of
https://github.com/bolero-MURAKAMI/Sprout.git
synced 2025-07-16 15:14:13 +00:00
fix inline
add container/indexes.hpp add tuple/indexes.hpp
This commit is contained in:
parent
ba6482d1ec
commit
c6bd230ee4
340 changed files with 1087 additions and 979 deletions
|
@ -13,7 +13,7 @@ namespace sprout {
|
|||
|
||||
// 25.2.8 Adjacent find
|
||||
template<typename Range>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
adjacent_find(Range&& range) {
|
||||
return sprout::range::range_return<Range>::pack(
|
||||
sprout::adjacent_find(
|
||||
|
@ -25,7 +25,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<typename Range, typename BinaryPredicate>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
adjacent_find(Range&& range, BinaryPredicate pred) {
|
||||
return sprout::range::range_return<Range>::pack(
|
||||
sprout::adjacent_find(
|
||||
|
@ -38,7 +38,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
adjacent_find(Range&& range) {
|
||||
return sprout::range::range_return<Range, RetV>::pack(
|
||||
sprout::adjacent_find(
|
||||
|
@ -50,7 +50,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range, typename BinaryPredicate>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
adjacent_find(Range&& range, BinaryPredicate pred) {
|
||||
return sprout::range::range_return<Range, RetV>::pack(
|
||||
sprout::adjacent_find(
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace sprout {
|
|||
|
||||
// 25.2.1 All of
|
||||
template<typename Range, typename Predicate>
|
||||
SPROUT_CONSTEXPR bool all_of(Range const& range, Predicate pred) {
|
||||
inline SPROUT_CONSTEXPR bool all_of(Range const& range, Predicate pred) {
|
||||
return sprout::all_of(sprout::begin(range), sprout::end(range), pred);
|
||||
}
|
||||
} // namespace range
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace sprout {
|
|||
|
||||
// 25.2.2 Any of
|
||||
template<typename Range, typename Predicate>
|
||||
SPROUT_CONSTEXPR bool any_of(Range const& range, Predicate pred) {
|
||||
inline SPROUT_CONSTEXPR bool any_of(Range const& range, Predicate pred) {
|
||||
return sprout::any_of(sprout::begin(range), sprout::end(range), pred);
|
||||
}
|
||||
} // namespace range
|
||||
|
|
|
@ -11,12 +11,12 @@ namespace sprout {
|
|||
|
||||
// 25.4.3.4 binary_search
|
||||
template<typename Range, typename T>
|
||||
SPROUT_CONSTEXPR bool binary_search(Range const& range, T const& value) {
|
||||
inline SPROUT_CONSTEXPR bool binary_search(Range const& range, T const& value) {
|
||||
return sprout::binary_search(sprout::begin(range), sprout::end(range), value);
|
||||
}
|
||||
|
||||
template<typename Range, typename T, typename Compare>
|
||||
SPROUT_CONSTEXPR bool binary_search(Range const& range, T const& value, Compare comp) {
|
||||
inline SPROUT_CONSTEXPR bool binary_search(Range const& range, T const& value, Compare comp) {
|
||||
return sprout::binary_search(sprout::begin(range), sprout::end(range), value, comp);
|
||||
}
|
||||
} // namespace range
|
||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
|||
|
||||
// 25.2.9 Count
|
||||
template<typename Range, typename T>
|
||||
SPROUT_CONSTEXPR typename sprout::container_traits<Range const>::difference_type
|
||||
inline SPROUT_CONSTEXPR typename sprout::container_traits<Range const>::difference_type
|
||||
count(Range const& range, T const& value) {
|
||||
return sprout::count(sprout::begin(range), sprout::end(range), value);
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
|||
|
||||
// 25.2.9 Count
|
||||
template<typename Range, typename Predicate>
|
||||
SPROUT_CONSTEXPR typename sprout::container_traits<Range const>::difference_type
|
||||
inline SPROUT_CONSTEXPR typename sprout::container_traits<Range const>::difference_type
|
||||
count_if(Range const& range, Predicate pred) {
|
||||
return sprout::count_if(sprout::begin(range), sprout::end(range), pred);
|
||||
}
|
||||
|
|
|
@ -11,12 +11,12 @@ namespace sprout {
|
|||
|
||||
// 25.2.11 Equal
|
||||
template<typename Range1, typename Range2>
|
||||
SPROUT_CONSTEXPR bool equal(Range1 const& range1, Range2 const& range2) {
|
||||
inline SPROUT_CONSTEXPR bool equal(Range1 const& range1, Range2 const& range2) {
|
||||
return sprout::equal(sprout::begin(range1), sprout::end(range1), sprout::begin(range2));
|
||||
}
|
||||
|
||||
template<typename Range1, typename Range2, typename BinaryPredicate>
|
||||
SPROUT_CONSTEXPR bool equal(Range1 const& range1, Range2 const& range2, BinaryPredicate pred) {
|
||||
inline SPROUT_CONSTEXPR bool equal(Range1 const& range1, Range2 const& range2, BinaryPredicate pred) {
|
||||
return sprout::equal(sprout::begin(range1), sprout::end(range1), sprout::begin(range2), pred);
|
||||
}
|
||||
} // namespace range
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace sprout {
|
|||
namespace range {
|
||||
namespace detail {
|
||||
template<typename Range, typename Pair>
|
||||
SPROUT_CONSTEXPR typename sprout::range::lvref_range<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::lvref_range<Range>::type
|
||||
pair_to_range(Pair const& pair) {
|
||||
return {pair.first, pair.second};
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ namespace sprout {
|
|||
|
||||
// 25.4.3.3 equal_range
|
||||
template<typename Range, typename T>
|
||||
SPROUT_CONSTEXPR typename sprout::range::lvref_range<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::lvref_range<Range>::type
|
||||
equal_range(Range&& range, T const& value) {
|
||||
return sprout::range::detail::pair_to_range<Range>(
|
||||
sprout::equal_range(
|
||||
|
@ -33,7 +33,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<typename Range, typename T, typename Compare>
|
||||
SPROUT_CONSTEXPR typename sprout::range::lvref_range<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::lvref_range<Range>::type
|
||||
equal_range(Range&& range, T const& value, Compare comp) {
|
||||
return sprout::range::detail::pair_to_range<Range>(
|
||||
sprout::equal_range(
|
||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
|||
|
||||
// 25.2.5 Find
|
||||
template<typename Range, typename T>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
find(Range&& range, T const& value) {
|
||||
return sprout::range::range_return<Range>::pack(
|
||||
sprout::find(
|
||||
|
@ -26,7 +26,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range, typename T>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
find(Range&& range, T const& value) {
|
||||
return sprout::range::range_return<Range, RetV>::pack(
|
||||
sprout::find(
|
||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
|||
|
||||
// 25.2.6 Find end
|
||||
template<typename Range1, typename Range2>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range1>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range1>::type
|
||||
find_end(Range1&& range1, Range2&& range2) {
|
||||
return sprout::range::range_return<Range1>::pack(
|
||||
sprout::find_end(
|
||||
|
@ -27,7 +27,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<typename Range1, typename Range2, typename BinaryPredicate>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range1>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range1>::type
|
||||
find_end(Range1&& range1, Range2&& range2, BinaryPredicate pred) {
|
||||
return sprout::range::range_return<Range1>::pack(
|
||||
sprout::find_end(
|
||||
|
@ -42,7 +42,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range1, typename Range2>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range1, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range1, RetV>::type
|
||||
find_end(Range1&& range1, Range2&& range2) {
|
||||
return sprout::range::range_return<Range1, RetV>::pack(
|
||||
sprout::find_end(
|
||||
|
@ -56,7 +56,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range1, typename Range2, typename BinaryPredicate>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range1, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range1, RetV>::type
|
||||
find_end(Range1&& range1, Range2&& range2, BinaryPredicate pred) {
|
||||
return sprout::range::range_return<Range1, RetV>::pack(
|
||||
sprout::find_end(
|
||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
|||
|
||||
// 25.2.7 Find first
|
||||
template<typename Range1, typename Range2>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range1>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range1>::type
|
||||
find_first_of(Range1&& range1, Range2&& range2) {
|
||||
return sprout::range::range_return<Range1>::pack(
|
||||
sprout::find_first_of(
|
||||
|
@ -27,7 +27,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<typename Range1, typename Range2, typename BinaryPredicate>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range1>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range1>::type
|
||||
find_first_of(Range1&& range1, Range2&& range2, BinaryPredicate pred) {
|
||||
return sprout::range::range_return<Range1>::pack(
|
||||
sprout::find_first_of(
|
||||
|
@ -42,7 +42,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range1, typename Range2>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range1, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range1, RetV>::type
|
||||
find_first_of(Range1&& range1, Range2&& range2) {
|
||||
return sprout::range::range_return<Range1, RetV>::pack(
|
||||
sprout::find_first_of(
|
||||
|
@ -56,7 +56,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range1, typename Range2, typename BinaryPredicate>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range1, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range1, RetV>::type
|
||||
find_first_of(Range1&& range1, Range2&& range2, BinaryPredicate pred) {
|
||||
return sprout::range::range_return<Range1, RetV>::pack(
|
||||
sprout::find_first_of(
|
||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
|||
|
||||
// 25.2.5 Find
|
||||
template<typename Range, typename Predicate>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
find_if(Range&& range, Predicate pred) {
|
||||
return sprout::range::range_return<Range>::pack(
|
||||
sprout::find_if(
|
||||
|
@ -26,7 +26,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range, typename Predicate>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
find_if(Range&& range, Predicate pred) {
|
||||
return sprout::range::range_return<Range, RetV>::pack(
|
||||
sprout::find_if(
|
||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
|||
|
||||
// 25.2.5 Find
|
||||
template<typename Range, typename Predicate>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
find_if_not(Range&& range, Predicate pred) {
|
||||
return sprout::range::range_return<Range>::pack(
|
||||
sprout::find_if_not(
|
||||
|
@ -26,7 +26,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range, typename Predicate>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
find_if_not(Range&& range, Predicate pred) {
|
||||
return sprout::range::range_return<Range, RetV>::pack(
|
||||
sprout::find_if_not(
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// copy
|
||||
//
|
||||
template<typename Input, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type copy(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type copy(
|
||||
Input const& input,
|
||||
Result const& result
|
||||
)
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// copy_backward
|
||||
//
|
||||
template<typename Input, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type copy_backward(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type copy_backward(
|
||||
Input const& input,
|
||||
Result const& result
|
||||
)
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// copy_if
|
||||
//
|
||||
template<typename Input, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type copy_if(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type copy_if(
|
||||
Input const& input,
|
||||
Result const& result
|
||||
)
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// merge
|
||||
//
|
||||
template<typename Input1, typename Input2, typename Result, typename Compare>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type merge(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type merge(
|
||||
Input1 const& input1,
|
||||
Input2 const& input2,
|
||||
Result const& result,
|
||||
|
@ -28,7 +28,7 @@ namespace sprout {
|
|||
// merge
|
||||
//
|
||||
template<typename Input1, typename Input2, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type merge(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type merge(
|
||||
Input1 const& input1,
|
||||
Input2 const& input2,
|
||||
Result const& result
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// partition_copy
|
||||
//
|
||||
template<typename Input, typename Result, typename Predicate>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type partition_copy(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type partition_copy(
|
||||
Input const& input,
|
||||
Result const& result,
|
||||
Predicate pred
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// remove_copy
|
||||
//
|
||||
template<typename Input, typename Result, typename T>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type remove_copy(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type remove_copy(
|
||||
Input const& input,
|
||||
Result const& result,
|
||||
T const& value
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// remove_copy_if
|
||||
//
|
||||
template<typename Input, typename Result, typename Predicate>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type remove_copy_if(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type remove_copy_if(
|
||||
Input const& input,
|
||||
Result const& result,
|
||||
Predicate pred
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// replace_copy
|
||||
//
|
||||
template<typename Input, typename Result, typename T>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type replace_copy(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type replace_copy(
|
||||
Input const& input,
|
||||
Result const& result,
|
||||
T const& old_value,
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// replace_copy_if
|
||||
//
|
||||
template<typename Input, typename Result, typename T, typename Predicate>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type replace_copy_if(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type replace_copy_if(
|
||||
Input const& input,
|
||||
Result const& result,
|
||||
Predicate pred,
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// reverse_copy
|
||||
//
|
||||
template<typename Input, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type reverse_copy(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type reverse_copy(
|
||||
Input const& input,
|
||||
Result const& result
|
||||
)
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// rotate_copy
|
||||
//
|
||||
template<typename Input, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type rotate_copy(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type rotate_copy(
|
||||
Input const& input,
|
||||
typename sprout::container_traits<Input>::const_iterator middle,
|
||||
Result const& result
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// set_difference
|
||||
//
|
||||
template<typename Input1, typename Input2, typename Result, typename Compare>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_difference(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_difference(
|
||||
Input1 const& input1,
|
||||
Input2 const& input2,
|
||||
Result const& result,
|
||||
|
@ -28,7 +28,7 @@ namespace sprout {
|
|||
// set_difference
|
||||
//
|
||||
template<typename Input1, typename Input2, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_difference(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_difference(
|
||||
Input1 const& input1,
|
||||
Input2 const& input2,
|
||||
Result const& result
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// set_intersection
|
||||
//
|
||||
template<typename Input1, typename Input2, typename Result, typename Compare>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_intersection(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_intersection(
|
||||
Input1 const& input1,
|
||||
Input2 const& input2,
|
||||
Result const& result,
|
||||
|
@ -28,7 +28,7 @@ namespace sprout {
|
|||
// set_intersection
|
||||
//
|
||||
template<typename Input1, typename Input2, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_intersection(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_intersection(
|
||||
Input1 const& input1,
|
||||
Input2 const& input2,
|
||||
Result const& result
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// set_symmetric_difference
|
||||
//
|
||||
template<typename Input1, typename Input2, typename Result, typename Compare>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_symmetric_difference(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_symmetric_difference(
|
||||
Input1 const& input1,
|
||||
Input2 const& input2,
|
||||
Result const& result,
|
||||
|
@ -28,7 +28,7 @@ namespace sprout {
|
|||
// set_symmetric_difference
|
||||
//
|
||||
template<typename Input1, typename Input2, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_symmetric_difference(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_symmetric_difference(
|
||||
Input1 const& input1,
|
||||
Input2 const& input2,
|
||||
Result const& result
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// set_union
|
||||
//
|
||||
template<typename Input1, typename Input2, typename Result, typename Compare>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_union(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_union(
|
||||
Input1 const& input1,
|
||||
Input2 const& input2,
|
||||
Result const& result,
|
||||
|
@ -28,7 +28,7 @@ namespace sprout {
|
|||
// set_union
|
||||
//
|
||||
template<typename Input1, typename Input2, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_union(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_union(
|
||||
Input1 const& input1,
|
||||
Input2 const& input2,
|
||||
Result const& result
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// stable_partition_copy
|
||||
//
|
||||
template<typename Input, typename Result, typename Predicate>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type stable_partition_copy(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type stable_partition_copy(
|
||||
Input const& input,
|
||||
Result const& result,
|
||||
Predicate pred
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// swap_element_copy
|
||||
//
|
||||
template<typename Input, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type swap_element_copy(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type swap_element_copy(
|
||||
Input const& input,
|
||||
Result const& result,
|
||||
typename sprout::container_traits<Input>::const_iterator pos1,
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// transform
|
||||
//
|
||||
template<typename Input, typename Result, typename UnaryOperation>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type transform(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type transform(
|
||||
Input const& input,
|
||||
Result const& result,
|
||||
UnaryOperation op
|
||||
|
@ -27,7 +27,7 @@ namespace sprout {
|
|||
// transform
|
||||
//
|
||||
template<typename Input1, typename Input2, typename Result, typename BinaryOperation>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type transform(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type transform(
|
||||
Input1 const& input1,
|
||||
Input2 const& input2,
|
||||
Result const& result,
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// unique_copy
|
||||
//
|
||||
template<typename Input, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type unique_copy(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type unique_copy(
|
||||
Input const& input,
|
||||
Result const& result
|
||||
)
|
||||
|
@ -26,7 +26,7 @@ namespace sprout {
|
|||
// unique_copy
|
||||
//
|
||||
template<typename Input, typename Result, typename BinaryPredicate>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type unique_copy(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type unique_copy(
|
||||
Input const& input,
|
||||
Result const& result,
|
||||
BinaryPredicate pred
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// copy
|
||||
//
|
||||
template<typename Input, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type copy(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type copy(
|
||||
Input const& input,
|
||||
Result const& result
|
||||
)
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// copy_backward
|
||||
//
|
||||
template<typename Input, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type copy_backward(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type copy_backward(
|
||||
Input const& input,
|
||||
Result const& result
|
||||
)
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// copy_if
|
||||
//
|
||||
template<typename Input, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type copy_if(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type copy_if(
|
||||
Input const& input,
|
||||
Result const& result
|
||||
)
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// merge
|
||||
//
|
||||
template<typename Input1, typename Input2, typename Result, typename Compare>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type merge(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type merge(
|
||||
Input1 const& input1,
|
||||
Input2 const& input2,
|
||||
Result const& result,
|
||||
|
@ -28,7 +28,7 @@ namespace sprout {
|
|||
// merge
|
||||
//
|
||||
template<typename Input1, typename Input2, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type merge(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type merge(
|
||||
Input1 const& input1,
|
||||
Input2 const& input2,
|
||||
Result const& result
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// partition_copy
|
||||
//
|
||||
template<typename Input, typename Result, typename Predicate>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type partition_copy(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type partition_copy(
|
||||
Input const& input,
|
||||
Result const& result,
|
||||
Predicate pred
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// remove_copy
|
||||
//
|
||||
template<typename Input, typename Result, typename T>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type remove_copy(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type remove_copy(
|
||||
Input const& input,
|
||||
Result const& result,
|
||||
T const& value
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// remove_copy_if
|
||||
//
|
||||
template<typename Input, typename Result, typename Predicate>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type remove_copy_if(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type remove_copy_if(
|
||||
Input const& input,
|
||||
Result const& result,
|
||||
Predicate pred
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// replace_copy
|
||||
//
|
||||
template<typename Input, typename Result, typename T>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type replace_copy(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type replace_copy(
|
||||
Input const& input,
|
||||
Result const& result,
|
||||
T const& old_value,
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// replace_copy_if
|
||||
//
|
||||
template<typename Input, typename Result, typename T, typename Predicate>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type replace_copy_if(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type replace_copy_if(
|
||||
Input const& input,
|
||||
Result const& result,
|
||||
Predicate pred,
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// reverse_copy
|
||||
//
|
||||
template<typename Input, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type reverse_copy(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type reverse_copy(
|
||||
Input const& input,
|
||||
Result const& result
|
||||
)
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// rotate_copy
|
||||
//
|
||||
template<typename Input, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type rotate_copy(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type rotate_copy(
|
||||
Input const& input,
|
||||
typename sprout::container_traits<Input>::const_iterator middle,
|
||||
Result const& result
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// set_difference
|
||||
//
|
||||
template<typename Input1, typename Input2, typename Result, typename Compare>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_difference(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_difference(
|
||||
Input1 const& input1,
|
||||
Input2 const& input2,
|
||||
Result const& result,
|
||||
|
@ -28,7 +28,7 @@ namespace sprout {
|
|||
// set_difference
|
||||
//
|
||||
template<typename Input1, typename Input2, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_difference(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_difference(
|
||||
Input1 const& input1,
|
||||
Input2 const& input2,
|
||||
Result const& result
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// set_intersection
|
||||
//
|
||||
template<typename Input1, typename Input2, typename Result, typename Compare>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_intersection(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_intersection(
|
||||
Input1 const& input1,
|
||||
Input2 const& input2,
|
||||
Result const& result,
|
||||
|
@ -28,7 +28,7 @@ namespace sprout {
|
|||
// set_intersection
|
||||
//
|
||||
template<typename Input1, typename Input2, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_intersection(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_intersection(
|
||||
Input1 const& input1,
|
||||
Input2 const& input2,
|
||||
Result const& result
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// set_symmetric_difference
|
||||
//
|
||||
template<typename Input1, typename Input2, typename Result, typename Compare>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_symmetric_difference(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_symmetric_difference(
|
||||
Input1 const& input1,
|
||||
Input2 const& input2,
|
||||
Result const& result,
|
||||
|
@ -28,7 +28,7 @@ namespace sprout {
|
|||
// set_symmetric_difference
|
||||
//
|
||||
template<typename Input1, typename Input2, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_symmetric_difference(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_symmetric_difference(
|
||||
Input1 const& input1,
|
||||
Input2 const& input2,
|
||||
Result const& result
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// set_union
|
||||
//
|
||||
template<typename Input1, typename Input2, typename Result, typename Compare>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_union(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_union(
|
||||
Input1 const& input1,
|
||||
Input2 const& input2,
|
||||
Result const& result,
|
||||
|
@ -28,7 +28,7 @@ namespace sprout {
|
|||
// set_union
|
||||
//
|
||||
template<typename Input1, typename Input2, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_union(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_union(
|
||||
Input1 const& input1,
|
||||
Input2 const& input2,
|
||||
Result const& result
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// stable_partition_copy
|
||||
//
|
||||
template<typename Input, typename Result, typename Predicate>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type stable_partition_copy(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type stable_partition_copy(
|
||||
Input const& input,
|
||||
Result const& result,
|
||||
Predicate pred
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// swap_element_copy
|
||||
//
|
||||
template<typename Input, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type swap_element_copy(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type swap_element_copy(
|
||||
Input const& input,
|
||||
Result const& result,
|
||||
typename sprout::container_traits<Input>::const_iterator pos1,
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// transform
|
||||
//
|
||||
template<typename Input, typename Result, typename UnaryOperation>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type transform(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type transform(
|
||||
Input const& input,
|
||||
Result const& result,
|
||||
UnaryOperation op
|
||||
|
@ -27,7 +27,7 @@ namespace sprout {
|
|||
// transform
|
||||
//
|
||||
template<typename Input1, typename Input2, typename Result, typename BinaryOperation>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type transform(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type transform(
|
||||
Input1 const& input1,
|
||||
Input2 const& input2,
|
||||
Result const& result,
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
// unique_copy
|
||||
//
|
||||
template<typename Input, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type unique_copy(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type unique_copy(
|
||||
Input const& input,
|
||||
Result const& result
|
||||
)
|
||||
|
@ -26,7 +26,7 @@ namespace sprout {
|
|||
// unique_copy
|
||||
//
|
||||
template<typename Input, typename Result, typename BinaryPredicate>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type unique_copy(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type unique_copy(
|
||||
Input const& input,
|
||||
Result const& result,
|
||||
BinaryPredicate pred
|
||||
|
|
|
@ -11,12 +11,12 @@ namespace sprout {
|
|||
|
||||
// 25.4.5.1 includes
|
||||
template<typename Range1, typename Range2>
|
||||
SPROUT_CONSTEXPR bool includes(Range1 const& range1, Range2 const& range2) {
|
||||
inline SPROUT_CONSTEXPR bool includes(Range1 const& range1, Range2 const& range2) {
|
||||
return sprout::includes(sprout::begin(range1), sprout::end(range1), sprout::begin(range2), sprout::end(range2));
|
||||
}
|
||||
|
||||
template<typename Range1, typename Range2, typename Compare>
|
||||
SPROUT_CONSTEXPR bool includes(Range1 const& range1, Range2 const& range2, Compare comp) {
|
||||
inline SPROUT_CONSTEXPR bool includes(Range1 const& range1, Range2 const& range2, Compare comp) {
|
||||
return sprout::includes(sprout::begin(range1), sprout::end(range1), sprout::begin(range2), sprout::end(range2), comp);
|
||||
}
|
||||
} // namespace range
|
||||
|
|
|
@ -11,12 +11,12 @@ namespace sprout {
|
|||
|
||||
// 25.4.6.5 is_heap
|
||||
template<typename Range>
|
||||
SPROUT_CONSTEXPR bool is_heap(Range const& range) {
|
||||
inline SPROUT_CONSTEXPR bool is_heap(Range const& range) {
|
||||
return sprout::is_heap(sprout::begin(range), sprout::end(range));
|
||||
}
|
||||
|
||||
template<typename Range, typename Compare>
|
||||
SPROUT_CONSTEXPR bool is_heap(Range const& range, Compare comp) {
|
||||
inline SPROUT_CONSTEXPR bool is_heap(Range const& range, Compare comp) {
|
||||
return sprout::is_heap(sprout::begin(range), sprout::end(range), comp);
|
||||
}
|
||||
} // namespace range
|
||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
|||
|
||||
// 25.4.6.5 is_heap
|
||||
template<typename Range>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
is_heap_until(Range&& range) {
|
||||
return sprout::range::range_return<Range>::pack(
|
||||
sprout::is_heap_until(
|
||||
|
@ -25,7 +25,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<typename Range, typename Compare>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
is_heap_until(Range&& range, Compare comp) {
|
||||
return sprout::range::range_return<Range>::pack(
|
||||
sprout::is_heap_until(
|
||||
|
@ -38,7 +38,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
is_heap_until(Range&& range) {
|
||||
return sprout::range::range_return<Range, RetV>::pack(
|
||||
sprout::is_heap_until(
|
||||
|
@ -50,7 +50,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range, typename Compare>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
is_heap_until(Range&& range, Compare comp) {
|
||||
return sprout::range::range_return<Range, RetV>::pack(
|
||||
sprout::is_heap_until(
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace sprout {
|
|||
|
||||
// 25.3.13 partitions
|
||||
template<typename Range, typename Predicate>
|
||||
SPROUT_CONSTEXPR bool is_partitioned(Range const& range, Predicate pred) {
|
||||
inline SPROUT_CONSTEXPR bool is_partitioned(Range const& range, Predicate pred) {
|
||||
return sprout::is_partitioned(sprout::begin(range), sprout::end(range), pred);
|
||||
}
|
||||
} // namespace range
|
||||
|
|
|
@ -11,12 +11,12 @@ namespace sprout {
|
|||
|
||||
// 25.2.12 Is permutation
|
||||
template<typename Range1, typename Range2>
|
||||
SPROUT_CONSTEXPR bool is_permutation(Range1 const& range1, Range2 const& range2) {
|
||||
inline SPROUT_CONSTEXPR bool is_permutation(Range1 const& range1, Range2 const& range2) {
|
||||
return sprout::is_permutation(sprout::begin(range1), sprout::end(range1), sprout::begin(range2));
|
||||
}
|
||||
|
||||
template<typename Range1, typename Range2, typename BinaryPredicate>
|
||||
SPROUT_CONSTEXPR bool is_permutation(Range1 const& range1, Range2 const& range2, BinaryPredicate pred) {
|
||||
inline SPROUT_CONSTEXPR bool is_permutation(Range1 const& range1, Range2 const& range2, BinaryPredicate pred) {
|
||||
return sprout::is_permutation(sprout::begin(range1), sprout::end(range1), sprout::begin(range2), pred);
|
||||
}
|
||||
} // namespace range
|
||||
|
|
|
@ -11,12 +11,12 @@ namespace sprout {
|
|||
|
||||
// 25.4.1.5 is_sorted
|
||||
template<typename Range>
|
||||
SPROUT_CONSTEXPR bool is_sorted(Range const& range) {
|
||||
inline SPROUT_CONSTEXPR bool is_sorted(Range const& range) {
|
||||
return sprout::is_sorted(sprout::begin(range), sprout::end(range));
|
||||
}
|
||||
|
||||
template<typename Range, typename Compare>
|
||||
SPROUT_CONSTEXPR bool is_sorted(Range const& range, Compare comp) {
|
||||
inline SPROUT_CONSTEXPR bool is_sorted(Range const& range, Compare comp) {
|
||||
return sprout::is_sorted(sprout::begin(range), sprout::end(range), comp);
|
||||
}
|
||||
} // namespace range
|
||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
|||
|
||||
// 25.4.1.5 is_sorted
|
||||
template<typename Range>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
is_sorted_until(Range&& range) {
|
||||
return sprout::range::range_return<Range>::pack(
|
||||
sprout::is_sorted_until(
|
||||
|
@ -25,7 +25,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<typename Range, typename Compare>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
is_sorted_until(Range&& range, Compare comp) {
|
||||
return sprout::range::range_return<Range>::pack(
|
||||
sprout::is_sorted_until(
|
||||
|
@ -38,7 +38,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
is_sorted_until(Range&& range) {
|
||||
return sprout::range::range_return<Range, RetV>::pack(
|
||||
sprout::is_sorted_until(
|
||||
|
@ -50,7 +50,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range, typename Compare>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
is_sorted_until(Range&& range, Compare comp) {
|
||||
return sprout::range::range_return<Range, RetV>::pack(
|
||||
sprout::is_sorted_until(
|
||||
|
|
|
@ -11,12 +11,12 @@ namespace sprout {
|
|||
|
||||
// 25.4.8 Lexicographical comparison
|
||||
template<typename Range1, typename Range2>
|
||||
SPROUT_CONSTEXPR bool lexicographical_compare(Range1 const& range1, Range2 const& range2) {
|
||||
inline SPROUT_CONSTEXPR bool lexicographical_compare(Range1 const& range1, Range2 const& range2) {
|
||||
return sprout::lexicographical_compare(sprout::begin(range1), sprout::end(range1), sprout::begin(range2), sprout::end(range2));
|
||||
}
|
||||
|
||||
template<typename Range1, typename Range2, typename Compare>
|
||||
SPROUT_CONSTEXPR bool lexicographical_compare(Range1 const& range1, Range2 const& range2, Compare comp) {
|
||||
inline SPROUT_CONSTEXPR bool lexicographical_compare(Range1 const& range1, Range2 const& range2, Compare comp) {
|
||||
return sprout::lexicographical_compare(sprout::begin(range1), sprout::end(range1), sprout::begin(range2), sprout::end(range2), comp);
|
||||
}
|
||||
} // namespace range
|
||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
|||
|
||||
// 25.4.3.1 lower_bound
|
||||
template<typename Range, typename T>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
lower_bound(Range&& range, T const& value) {
|
||||
return sprout::range::range_return<Range>::pack(
|
||||
sprout::lower_bound(
|
||||
|
@ -26,7 +26,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<typename Range, typename T, typename Compare>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
lower_bound(Range&& range, T const& value, Compare comp) {
|
||||
return sprout::range::range_return<Range>::pack(
|
||||
sprout::lower_bound(
|
||||
|
@ -40,7 +40,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range, typename T>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
lower_bound(Range&& range, T const& value) {
|
||||
return sprout::range::range_return<Range, RetV>::pack(
|
||||
sprout::lower_bound(
|
||||
|
@ -53,7 +53,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range, typename T, typename Compare>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
lower_bound(Range&& range, T const& value, Compare comp) {
|
||||
return sprout::range::range_return<Range, RetV>::pack(
|
||||
sprout::lower_bound(
|
||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
|||
|
||||
// 25.4.7 Minimum and maximum
|
||||
template<typename Range>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
max_element(Range&& range) {
|
||||
return sprout::range::range_return<Range>::pack(
|
||||
sprout::max_element(
|
||||
|
@ -25,7 +25,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<typename Range, typename Compare>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
max_element(Range&& range, Compare comp) {
|
||||
return sprout::range::range_return<Range>::pack(
|
||||
sprout::max_element(
|
||||
|
@ -38,7 +38,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
max_element(Range&& range) {
|
||||
return sprout::range::range_return<Range, RetV>::pack(
|
||||
sprout::max_element(
|
||||
|
@ -50,7 +50,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range, typename Compare>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
max_element(Range&& range, Compare comp) {
|
||||
return sprout::range::range_return<Range, RetV>::pack(
|
||||
sprout::max_element(
|
||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
|||
|
||||
// 25.4.7 Minimum and maximum
|
||||
template<typename Range>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
min_element(Range&& range) {
|
||||
return sprout::range::range_return<Range>::pack(
|
||||
sprout::min_element(
|
||||
|
@ -25,7 +25,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<typename Range, typename Compare>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
min_element(Range&& range, Compare comp) {
|
||||
return sprout::range::range_return<Range>::pack(
|
||||
sprout::min_element(
|
||||
|
@ -38,7 +38,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
min_element(Range&& range) {
|
||||
return sprout::range::range_return<Range, RetV>::pack(
|
||||
sprout::min_element(
|
||||
|
@ -50,7 +50,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range, typename Compare>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
min_element(Range&& range, Compare comp) {
|
||||
return sprout::range::range_return<Range, RetV>::pack(
|
||||
sprout::min_element(
|
||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
|||
namespace range {
|
||||
namespace detail {
|
||||
template<typename Range, typename Pair>
|
||||
SPROUT_CONSTEXPR sprout::pair<
|
||||
inline SPROUT_CONSTEXPR sprout::pair<
|
||||
typename sprout::range::range_return<Range>::type,
|
||||
typename sprout::range::range_return<Range>::type
|
||||
>
|
||||
|
@ -24,7 +24,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range, typename Pair>
|
||||
SPROUT_CONSTEXPR sprout::pair<
|
||||
inline SPROUT_CONSTEXPR sprout::pair<
|
||||
typename sprout::range::range_return<Range, RetV>::type,
|
||||
typename sprout::range::range_return<Range, RetV>::type
|
||||
>
|
||||
|
@ -40,7 +40,7 @@ namespace sprout {
|
|||
|
||||
// 25.4.7 Minimum and maximum
|
||||
template<typename Range>
|
||||
SPROUT_CONSTEXPR sprout::pair<
|
||||
inline SPROUT_CONSTEXPR sprout::pair<
|
||||
typename sprout::range::range_return<Range>::type,
|
||||
typename sprout::range::range_return<Range>::type
|
||||
>
|
||||
|
@ -55,7 +55,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<typename Range, typename Compare>
|
||||
SPROUT_CONSTEXPR sprout::pair<
|
||||
inline SPROUT_CONSTEXPR sprout::pair<
|
||||
typename sprout::range::range_return<Range>::type,
|
||||
typename sprout::range::range_return<Range>::type
|
||||
>
|
||||
|
@ -71,7 +71,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range>
|
||||
SPROUT_CONSTEXPR sprout::pair<
|
||||
inline SPROUT_CONSTEXPR sprout::pair<
|
||||
typename sprout::range::range_return<Range, RetV>::type,
|
||||
typename sprout::range::range_return<Range, RetV>::type
|
||||
>
|
||||
|
@ -86,7 +86,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range, typename Compare>
|
||||
SPROUT_CONSTEXPR sprout::pair<
|
||||
inline SPROUT_CONSTEXPR sprout::pair<
|
||||
typename sprout::range::range_return<Range, RetV>::type,
|
||||
typename sprout::range::range_return<Range, RetV>::type
|
||||
>
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
|
||||
// 25.2.10 Mismatch
|
||||
template<typename Range1, typename Range2>
|
||||
SPROUT_CONSTEXPR sprout::pair<
|
||||
inline SPROUT_CONSTEXPR sprout::pair<
|
||||
typename sprout::range::lvref_iterator<Range1>::type,
|
||||
typename sprout::range::lvref_iterator<Range2>::type
|
||||
>
|
||||
|
@ -27,7 +27,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<typename Range1, typename Range2, typename BinaryPredicate>
|
||||
SPROUT_CONSTEXPR sprout::pair<
|
||||
inline SPROUT_CONSTEXPR sprout::pair<
|
||||
typename sprout::range::lvref_iterator<Range1>::type,
|
||||
typename sprout::range::lvref_iterator<Range2>::type
|
||||
>
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace sprout {
|
|||
|
||||
// 25.2.3 None of
|
||||
template<typename Range, typename Predicate>
|
||||
SPROUT_CONSTEXPR bool none_of(Range const& range, Predicate pred) {
|
||||
inline SPROUT_CONSTEXPR bool none_of(Range const& range, Predicate pred) {
|
||||
return sprout::none_of(sprout::begin(range), sprout::end(range), pred);
|
||||
}
|
||||
} // namespace range
|
||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
|||
|
||||
// 25.3.13 partitions
|
||||
template<typename Range, typename Predicate>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
partition_point(Range&& range, Predicate pred) {
|
||||
return sprout::range::range_return<Range>::pack(
|
||||
sprout::partition_point(
|
||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
|||
|
||||
// 25.2.13 Search
|
||||
template<typename Range1, typename Range2>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range1>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range1>::type
|
||||
search(Range1&& range1, Range2&& range2) {
|
||||
return sprout::range::range_return<Range1>::pack(
|
||||
sprout::search(
|
||||
|
@ -27,7 +27,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<typename Range1, typename Range2, typename BinaryPredicate>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range1>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range1>::type
|
||||
search(Range1&& range1, Range2&& range2, BinaryPredicate pred) {
|
||||
return sprout::range::range_return<Range1>::pack(
|
||||
sprout::search(
|
||||
|
@ -42,7 +42,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range1, typename Range2>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range1, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range1, RetV>::type
|
||||
search(Range1&& range1, Range2&& range2) {
|
||||
return sprout::range::range_return<Range1, RetV>::pack(
|
||||
sprout::search(
|
||||
|
@ -56,7 +56,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range1, typename Range2, typename BinaryPredicate>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range1, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range1, RetV>::type
|
||||
search(Range1&& range1, Range2&& range2, BinaryPredicate pred) {
|
||||
return sprout::range::range_return<Range1, RetV>::pack(
|
||||
sprout::search(
|
||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
|||
|
||||
// 25.2.13 Search
|
||||
template<typename Range, typename Size, typename T>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
search_n(Range&& range, Size count, T const& value) {
|
||||
return sprout::range::range_return<Range>::pack(
|
||||
sprout::search_n(
|
||||
|
@ -27,7 +27,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<typename Range, typename Size, typename T, typename BinaryPredicate>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
search_n(Range&& range, Size count, T const& value, BinaryPredicate pred) {
|
||||
return sprout::range::range_return<Range>::pack(
|
||||
sprout::search_n(
|
||||
|
@ -42,7 +42,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range, typename Size, typename T>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
search_n(Range&& range, Size count, T const& value) {
|
||||
return sprout::range::range_return<Range, RetV>::pack(
|
||||
sprout::search_n(
|
||||
|
@ -56,7 +56,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range, typename Size, typename T, typename BinaryPredicate>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
search_n(Range&& range, Size count, T const& value, BinaryPredicate pred) {
|
||||
return sprout::range::range_return<Range, RetV>::pack(
|
||||
sprout::search_n(
|
||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
|||
|
||||
// 25.4.3.2 upper_bound
|
||||
template<typename Range, typename T>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
upper_bound(Range&& range, T const& value) {
|
||||
return sprout::range::range_return<Range>::pack(
|
||||
sprout::upper_bound(
|
||||
|
@ -26,7 +26,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<typename Range, typename T, typename Compare>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range>::type
|
||||
upper_bound(Range&& range, T const& value, Compare comp) {
|
||||
return sprout::range::range_return<Range>::pack(
|
||||
sprout::upper_bound(
|
||||
|
@ -40,7 +40,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range, typename T>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
upper_bound(Range&& range, T const& value) {
|
||||
return sprout::range::range_return<Range, RetV>::pack(
|
||||
sprout::upper_bound(
|
||||
|
@ -53,7 +53,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<sprout::range::range_return_value RetV, typename Range, typename T, typename Compare>
|
||||
SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::range::range_return<Range, RetV>::type
|
||||
upper_bound(Range&& range, T const& value, Compare comp) {
|
||||
return sprout::range::range_return<Range, RetV>::pack(
|
||||
sprout::upper_bound(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue