mirror of
https://github.com/bolero-MURAKAMI/Sprout.git
synced 2025-01-21 20:36:37 +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
|
@ -31,11 +31,11 @@ namespace sprout {
|
||||||
// begin
|
// begin
|
||||||
//
|
//
|
||||||
template<typename T, std::size_t N>
|
template<typename T, std::size_t N>
|
||||||
typename sprout::container_traits<sscrisk::cel::array<T, N> >::iterator begin(sscrisk::cel::array<T, N>& cont) {
|
inline typename sprout::container_traits<sscrisk::cel::array<T, N> >::iterator begin(sscrisk::cel::array<T, N>& cont) {
|
||||||
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::iterator(cont, 0);
|
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::iterator(cont, 0);
|
||||||
}
|
}
|
||||||
template<typename T, std::size_t N>
|
template<typename T, std::size_t N>
|
||||||
SPROUT_CONSTEXPR typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator begin(sscrisk::cel::array<T, N> const& cont) {
|
inline SPROUT_CONSTEXPR typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator begin(sscrisk::cel::array<T, N> const& cont) {
|
||||||
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator(cont, 0);
|
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator(cont, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ namespace sprout {
|
||||||
// cbegin
|
// cbegin
|
||||||
//
|
//
|
||||||
template<typename T, std::size_t N>
|
template<typename T, std::size_t N>
|
||||||
SPROUT_CONSTEXPR typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator cbegin(sscrisk::cel::array<T, N> const& cont) {
|
inline SPROUT_CONSTEXPR typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator cbegin(sscrisk::cel::array<T, N> const& cont) {
|
||||||
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator(cont, 0);
|
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator(cont, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,11 +51,11 @@ namespace sprout {
|
||||||
// end
|
// end
|
||||||
//
|
//
|
||||||
template<typename T, std::size_t N>
|
template<typename T, std::size_t N>
|
||||||
typename sprout::container_traits<sscrisk::cel::array<T, N> >::iterator end(sscrisk::cel::array<T, N>& cont) {
|
inline typename sprout::container_traits<sscrisk::cel::array<T, N> >::iterator end(sscrisk::cel::array<T, N>& cont) {
|
||||||
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::iterator(cont, cont.size());
|
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::iterator(cont, cont.size());
|
||||||
}
|
}
|
||||||
template<typename T, std::size_t N>
|
template<typename T, std::size_t N>
|
||||||
SPROUT_CONSTEXPR typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator end(sscrisk::cel::array<T, N> const& cont) {
|
inline SPROUT_CONSTEXPR typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator end(sscrisk::cel::array<T, N> const& cont) {
|
||||||
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator(cont, cont.size());
|
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator(cont, cont.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ namespace sprout {
|
||||||
// cend
|
// cend
|
||||||
//
|
//
|
||||||
template<typename T, std::size_t N>
|
template<typename T, std::size_t N>
|
||||||
SPROUT_CONSTEXPR typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator cend(sscrisk::cel::array<T, N> const& cont) {
|
inline SPROUT_CONSTEXPR typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator cend(sscrisk::cel::array<T, N> const& cont) {
|
||||||
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator(cont, cont.size());
|
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator(cont, cont.size());
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -11,7 +11,7 @@ namespace sprout {
|
||||||
|
|
||||||
// 25.2.8 Adjacent find
|
// 25.2.8 Adjacent find
|
||||||
template<typename ForwardIterator, typename BinaryPredicate>
|
template<typename ForwardIterator, typename BinaryPredicate>
|
||||||
SPROUT_CONSTEXPR ForwardIterator adjacent_find(ForwardIterator first, ForwardIterator last, BinaryPredicate pred) {
|
inline SPROUT_CONSTEXPR ForwardIterator adjacent_find(ForwardIterator first, ForwardIterator last, BinaryPredicate pred) {
|
||||||
return first == last || sprout::next(first) == last ? last
|
return first == last || sprout::next(first) == last ? last
|
||||||
: pred(*first, *(sprout::next(first))) != false ? first
|
: pred(*first, *(sprout::next(first))) != false ? first
|
||||||
: sprout::adjacent_find(sprout::next(first), last, pred)
|
: sprout::adjacent_find(sprout::next(first), last, pred)
|
||||||
|
@ -19,7 +19,7 @@ namespace sprout {
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename ForwardIterator>
|
template<typename ForwardIterator>
|
||||||
SPROUT_CONSTEXPR ForwardIterator adjacent_find(ForwardIterator first, ForwardIterator last) {
|
inline SPROUT_CONSTEXPR ForwardIterator adjacent_find(ForwardIterator first, ForwardIterator last) {
|
||||||
return sprout::adjacent_find(
|
return sprout::adjacent_find(
|
||||||
first,
|
first,
|
||||||
last,
|
last,
|
||||||
|
|
|
@ -9,7 +9,7 @@ namespace sprout {
|
||||||
|
|
||||||
// 25.2.1 All of
|
// 25.2.1 All of
|
||||||
template<typename InputIterator, typename Predicate>
|
template<typename InputIterator, typename Predicate>
|
||||||
SPROUT_CONSTEXPR bool all_of(InputIterator first, InputIterator last, Predicate pred) {
|
inline SPROUT_CONSTEXPR bool all_of(InputIterator first, InputIterator last, Predicate pred) {
|
||||||
return first == last ? true
|
return first == last ? true
|
||||||
: pred(*first) == true && sprout::all_of(sprout::next(first), last, pred)
|
: pred(*first) == true && sprout::all_of(sprout::next(first), last, pred)
|
||||||
;
|
;
|
||||||
|
|
|
@ -9,7 +9,7 @@ namespace sprout {
|
||||||
|
|
||||||
// 25.2.2 Any of
|
// 25.2.2 Any of
|
||||||
template<typename InputIterator, typename Predicate>
|
template<typename InputIterator, typename Predicate>
|
||||||
SPROUT_CONSTEXPR bool any_of(InputIterator first, InputIterator last, Predicate pred) {
|
inline SPROUT_CONSTEXPR bool any_of(InputIterator first, InputIterator last, Predicate pred) {
|
||||||
return first == last ? false
|
return first == last ? false
|
||||||
: pred(*first) == true || sprout::any_of(sprout::next(first), last, pred)
|
: pred(*first) == true || sprout::any_of(sprout::next(first), last, pred)
|
||||||
;
|
;
|
||||||
|
|
|
@ -10,7 +10,7 @@ namespace sprout {
|
||||||
|
|
||||||
// 25.4.3.4 binary_search
|
// 25.4.3.4 binary_search
|
||||||
template<typename ForwardIterator, typename T>
|
template<typename ForwardIterator, typename T>
|
||||||
SPROUT_CONSTEXPR bool binary_search(ForwardIterator first, ForwardIterator last, T const& value) {
|
inline SPROUT_CONSTEXPR bool binary_search(ForwardIterator first, ForwardIterator last, T const& value) {
|
||||||
return first == last ? false
|
return first == last ? false
|
||||||
: sprout::next(first) == last ? !(*first < value) && !(value < *first) ? true : false
|
: sprout::next(first) == last ? !(*first < value) && !(value < *first) ? true : false
|
||||||
: *sprout::next(first, NS_SSCRISK_CEL_OR_SPROUT::distance(first, last) / 2) < value
|
: *sprout::next(first, NS_SSCRISK_CEL_OR_SPROUT::distance(first, last) / 2) < value
|
||||||
|
@ -22,7 +22,7 @@ namespace sprout {
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename ForwardIterator, typename T, typename Compare>
|
template<typename ForwardIterator, typename T, typename Compare>
|
||||||
SPROUT_CONSTEXPR bool binary_search(ForwardIterator first, ForwardIterator last, T const& value, Compare comp) {
|
inline SPROUT_CONSTEXPR bool binary_search(ForwardIterator first, ForwardIterator last, T const& value, Compare comp) {
|
||||||
return first == last ? false
|
return first == last ? false
|
||||||
: sprout::next(first) == last ? !comp(*first, value) && !comp(value, *first) ? true : false
|
: sprout::next(first) == last ? !comp(*first, value) && !comp(value, *first) ? true : false
|
||||||
: comp(*sprout::next(first, NS_SSCRISK_CEL_OR_SPROUT::distance(first, last) / 2), value)
|
: comp(*sprout::next(first, NS_SSCRISK_CEL_OR_SPROUT::distance(first, last) / 2), value)
|
||||||
|
|
|
@ -10,7 +10,7 @@ namespace sprout {
|
||||||
|
|
||||||
// 25.2.9 Count
|
// 25.2.9 Count
|
||||||
template<typename InputIterator, typename T>
|
template<typename InputIterator, typename T>
|
||||||
SPROUT_CONSTEXPR typename std::iterator_traits<InputIterator>::difference_type
|
inline SPROUT_CONSTEXPR typename std::iterator_traits<InputIterator>::difference_type
|
||||||
count(InputIterator first, InputIterator last, T const& value) {
|
count(InputIterator first, InputIterator last, T const& value) {
|
||||||
return first == last ? 0
|
return first == last ? 0
|
||||||
: (*first == value ? 1 : 0) + sprout::count(sprout::next(first), last, value)
|
: (*first == value ? 1 : 0) + sprout::count(sprout::next(first), last, value)
|
||||||
|
|
|
@ -10,7 +10,7 @@ namespace sprout {
|
||||||
|
|
||||||
// 25.2.9 Count
|
// 25.2.9 Count
|
||||||
template<typename InputIterator, typename Predicate>
|
template<typename InputIterator, typename Predicate>
|
||||||
SPROUT_CONSTEXPR typename std::iterator_traits<InputIterator>::difference_type
|
inline SPROUT_CONSTEXPR typename std::iterator_traits<InputIterator>::difference_type
|
||||||
count_if(InputIterator first, InputIterator last, Predicate pred) {
|
count_if(InputIterator first, InputIterator last, Predicate pred) {
|
||||||
return first == last ? 0
|
return first == last ? 0
|
||||||
: (pred(*first) != false ? 1 : 0) + sprout::count_if(sprout::next(first), last, pred)
|
: (pred(*first) != false ? 1 : 0) + sprout::count_if(sprout::next(first), last, pred)
|
||||||
|
|
|
@ -9,7 +9,7 @@ namespace sprout {
|
||||||
|
|
||||||
// 25.2.11 Equal
|
// 25.2.11 Equal
|
||||||
template<typename InputIterator1, typename InputIterator2>
|
template<typename InputIterator1, typename InputIterator2>
|
||||||
SPROUT_CONSTEXPR bool equal(
|
inline SPROUT_CONSTEXPR bool equal(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2
|
InputIterator2 first2
|
||||||
|
@ -21,7 +21,7 @@ namespace sprout {
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename InputIterator1, typename InputIterator2, typename BinaryPredicate>
|
template<typename InputIterator1, typename InputIterator2, typename BinaryPredicate>
|
||||||
SPROUT_CONSTEXPR bool equal(
|
inline SPROUT_CONSTEXPR bool equal(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
|
|
@ -11,7 +11,7 @@ namespace sprout {
|
||||||
|
|
||||||
// 25.4.3.3 equal_range
|
// 25.4.3.3 equal_range
|
||||||
template<typename ForwardIterator, typename T>
|
template<typename ForwardIterator, typename T>
|
||||||
SPROUT_CONSTEXPR sprout::pair<ForwardIterator, ForwardIterator> equal_range(
|
inline SPROUT_CONSTEXPR sprout::pair<ForwardIterator, ForwardIterator> equal_range(
|
||||||
ForwardIterator first,
|
ForwardIterator first,
|
||||||
ForwardIterator last,
|
ForwardIterator last,
|
||||||
T const& value
|
T const& value
|
||||||
|
@ -21,7 +21,7 @@ namespace sprout {
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename ForwardIterator, typename T, typename Compare>
|
template<typename ForwardIterator, typename T, typename Compare>
|
||||||
SPROUT_CONSTEXPR pair<ForwardIterator, ForwardIterator> equal_range(
|
inline SPROUT_CONSTEXPR pair<ForwardIterator, ForwardIterator> equal_range(
|
||||||
ForwardIterator first,
|
ForwardIterator first,
|
||||||
ForwardIterator last,
|
ForwardIterator last,
|
||||||
T const& value,
|
T const& value,
|
||||||
|
|
|
@ -9,7 +9,7 @@ namespace sprout {
|
||||||
|
|
||||||
// 25.2.5 Find
|
// 25.2.5 Find
|
||||||
template<typename InputIterator, typename T>
|
template<typename InputIterator, typename T>
|
||||||
SPROUT_CONSTEXPR InputIterator find(InputIterator first, InputIterator last, T const& value) {
|
inline SPROUT_CONSTEXPR InputIterator find(InputIterator first, InputIterator last, T const& value) {
|
||||||
return first == last || *first == value ? first
|
return first == last || *first == value ? first
|
||||||
: sprout::find(sprout::next(first), last, value)
|
: sprout::find(sprout::next(first), last, value)
|
||||||
;
|
;
|
||||||
|
|
|
@ -24,7 +24,7 @@ namespace sprout {
|
||||||
|
|
||||||
// 25.2.6 Find end
|
// 25.2.6 Find end
|
||||||
template<typename ForwardIterator1, typename ForwardIterator2, typename BinaryPredicate>
|
template<typename ForwardIterator1, typename ForwardIterator2, typename BinaryPredicate>
|
||||||
SPROUT_CONSTEXPR ForwardIterator1 find_end(
|
inline SPROUT_CONSTEXPR ForwardIterator1 find_end(
|
||||||
ForwardIterator1 first1,
|
ForwardIterator1 first1,
|
||||||
ForwardIterator1 last1,
|
ForwardIterator1 last1,
|
||||||
ForwardIterator2 first2,
|
ForwardIterator2 first2,
|
||||||
|
@ -41,7 +41,7 @@ namespace sprout {
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename ForwardIterator1, typename ForwardIterator2>
|
template<typename ForwardIterator1, typename ForwardIterator2>
|
||||||
SPROUT_CONSTEXPR ForwardIterator1 find_end(
|
inline SPROUT_CONSTEXPR ForwardIterator1 find_end(
|
||||||
ForwardIterator1 first1,
|
ForwardIterator1 first1,
|
||||||
ForwardIterator1 last1,
|
ForwardIterator1 last1,
|
||||||
ForwardIterator2 first2,
|
ForwardIterator2 first2,
|
||||||
|
|
|
@ -10,7 +10,7 @@ namespace sprout {
|
||||||
|
|
||||||
// 25.2.7 Find first
|
// 25.2.7 Find first
|
||||||
template<typename ForwardIterator1, typename ForwardIterator2, typename BinaryPredicate>
|
template<typename ForwardIterator1, typename ForwardIterator2, typename BinaryPredicate>
|
||||||
SPROUT_CONSTEXPR ForwardIterator1 find_first_of(
|
inline SPROUT_CONSTEXPR ForwardIterator1 find_first_of(
|
||||||
ForwardIterator1 first1,
|
ForwardIterator1 first1,
|
||||||
ForwardIterator1 last1,
|
ForwardIterator1 last1,
|
||||||
ForwardIterator2 first2,
|
ForwardIterator2 first2,
|
||||||
|
@ -24,7 +24,7 @@ namespace sprout {
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename ForwardIterator1, typename ForwardIterator2>
|
template<typename ForwardIterator1, typename ForwardIterator2>
|
||||||
SPROUT_CONSTEXPR ForwardIterator1 find_first_of(
|
inline SPROUT_CONSTEXPR ForwardIterator1 find_first_of(
|
||||||
ForwardIterator1 first1,
|
ForwardIterator1 first1,
|
||||||
ForwardIterator1 last1,
|
ForwardIterator1 last1,
|
||||||
ForwardIterator2 first2,
|
ForwardIterator2 first2,
|
||||||
|
|
|
@ -9,7 +9,7 @@ namespace sprout {
|
||||||
|
|
||||||
// 25.2.5 Find
|
// 25.2.5 Find
|
||||||
template<typename InputIterator, typename Predicate>
|
template<typename InputIterator, typename Predicate>
|
||||||
SPROUT_CONSTEXPR InputIterator find_if(InputIterator first, InputIterator last, Predicate pred) {
|
inline SPROUT_CONSTEXPR InputIterator find_if(InputIterator first, InputIterator last, Predicate pred) {
|
||||||
return first == last || pred(*first) != false ? first
|
return first == last || pred(*first) != false ? first
|
||||||
: sprout::find_if(sprout::next(first), last, pred)
|
: sprout::find_if(sprout::next(first), last, pred)
|
||||||
;
|
;
|
||||||
|
|
|
@ -9,7 +9,7 @@ namespace sprout {
|
||||||
|
|
||||||
// 25.2.5 Find
|
// 25.2.5 Find
|
||||||
template<typename InputIterator, typename Predicate>
|
template<typename InputIterator, typename Predicate>
|
||||||
SPROUT_CONSTEXPR InputIterator find_if_not(InputIterator first, InputIterator last, Predicate pred)
|
inline SPROUT_CONSTEXPR InputIterator find_if_not(InputIterator first, InputIterator last, Predicate pred)
|
||||||
{
|
{
|
||||||
return first == last || pred(*first) == false ? first
|
return first == last || pred(*first) == false ? first
|
||||||
: sprout::find_if_not(sprout::next(first), last, pred)
|
: sprout::find_if_not(sprout::next(first), last, pred)
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
|
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type bogo_sort_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type bogo_sort_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
UniformRandomNumberGenerator&& g,
|
UniformRandomNumberGenerator&& g,
|
||||||
Compare comp,
|
Compare comp,
|
||||||
|
@ -30,7 +30,7 @@ namespace sprout {
|
||||||
// bogo_sort
|
// bogo_sort
|
||||||
//
|
//
|
||||||
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
|
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type bogo_sort(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type bogo_sort(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
UniformRandomNumberGenerator&& g,
|
UniformRandomNumberGenerator&& g,
|
||||||
Compare comp
|
Compare comp
|
||||||
|
@ -46,7 +46,7 @@ namespace sprout {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename UniformRandomNumberGenerator>
|
template<typename Container, typename UniformRandomNumberGenerator>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type bogo_sort_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type bogo_sort_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
UniformRandomNumberGenerator&& g,
|
UniformRandomNumberGenerator&& g,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
|
@ -63,7 +63,7 @@ namespace sprout {
|
||||||
// bogo_sort
|
// bogo_sort
|
||||||
//
|
//
|
||||||
template<typename Container, typename UniformRandomNumberGenerator>
|
template<typename Container, typename UniformRandomNumberGenerator>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type bogo_sort(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type bogo_sort(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
UniformRandomNumberGenerator&& g
|
UniformRandomNumberGenerator&& g
|
||||||
)
|
)
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename UniformRandomNumberGenerator, typename Sorted>
|
template<typename Container, typename UniformRandomNumberGenerator, typename Sorted>
|
||||||
SPROUT_CONSTEXPR inline sprout::tuples::tuple<
|
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
|
||||||
typename sprout::fit::result_of::algorithm<Container>::type,
|
typename sprout::fit::result_of::algorithm<Container>::type,
|
||||||
typename std::decay<UniformRandomNumberGenerator>::type
|
typename std::decay<UniformRandomNumberGenerator>::type
|
||||||
> bogo_sort_result_impl_1(
|
> bogo_sort_result_impl_1(
|
||||||
|
@ -36,7 +36,7 @@ namespace sprout {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
|
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline sprout::tuples::tuple<
|
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
|
||||||
typename sprout::fit::result_of::algorithm<Container>::type,
|
typename sprout::fit::result_of::algorithm<Container>::type,
|
||||||
typename std::decay<UniformRandomNumberGenerator>::type
|
typename std::decay<UniformRandomNumberGenerator>::type
|
||||||
> bogo_sort_result_impl(
|
> bogo_sort_result_impl(
|
||||||
|
@ -56,7 +56,7 @@ namespace sprout {
|
||||||
// bogo_sort_result
|
// bogo_sort_result
|
||||||
//
|
//
|
||||||
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
|
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline sprout::tuples::tuple<
|
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
|
||||||
typename sprout::fit::result_of::algorithm<Container>::type,
|
typename sprout::fit::result_of::algorithm<Container>::type,
|
||||||
typename std::decay<UniformRandomNumberGenerator>::type
|
typename std::decay<UniformRandomNumberGenerator>::type
|
||||||
> bogo_sort_result(
|
> bogo_sort_result(
|
||||||
|
@ -75,7 +75,7 @@ namespace sprout {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename UniformRandomNumberGenerator>
|
template<typename Container, typename UniformRandomNumberGenerator>
|
||||||
SPROUT_CONSTEXPR inline sprout::tuples::tuple<
|
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
|
||||||
typename sprout::fit::result_of::algorithm<Container>::type,
|
typename sprout::fit::result_of::algorithm<Container>::type,
|
||||||
typename std::decay<UniformRandomNumberGenerator>::type
|
typename std::decay<UniformRandomNumberGenerator>::type
|
||||||
> bogo_sort_result_impl(
|
> bogo_sort_result_impl(
|
||||||
|
@ -94,7 +94,7 @@ namespace sprout {
|
||||||
// bogo_sort_result
|
// bogo_sort_result
|
||||||
//
|
//
|
||||||
template<typename Container, typename UniformRandomNumberGenerator>
|
template<typename Container, typename UniformRandomNumberGenerator>
|
||||||
SPROUT_CONSTEXPR inline sprout::tuples::tuple<
|
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
|
||||||
typename sprout::fit::result_of::algorithm<Container>::type,
|
typename sprout::fit::result_of::algorithm<Container>::type,
|
||||||
typename std::decay<UniformRandomNumberGenerator>::type
|
typename std::decay<UniformRandomNumberGenerator>::type
|
||||||
> bogo_sort_result(
|
> bogo_sort_result(
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator, typename Result>
|
template<typename InputIterator, typename Result>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type copy_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type copy_impl(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -32,7 +32,7 @@ namespace sprout {
|
||||||
// copy
|
// copy
|
||||||
//
|
//
|
||||||
template<typename InputIterator, typename Result>
|
template<typename InputIterator, 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(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result
|
Result const& result
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename BidirectionalIterator, typename Result>
|
template<typename BidirectionalIterator, typename Result>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type copy_backward_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type copy_backward_impl(
|
||||||
BidirectionalIterator first,
|
BidirectionalIterator first,
|
||||||
BidirectionalIterator last,
|
BidirectionalIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -32,7 +32,7 @@ namespace sprout {
|
||||||
// copy_backward
|
// copy_backward
|
||||||
//
|
//
|
||||||
template<typename BidirectionalIterator, typename Result>
|
template<typename BidirectionalIterator, 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(
|
||||||
BidirectionalIterator first,
|
BidirectionalIterator first,
|
||||||
BidirectionalIterator last,
|
BidirectionalIterator last,
|
||||||
Result const& result
|
Result const& result
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator, typename Result, typename Predicate>
|
template<typename InputIterator, typename Result, typename Predicate>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type copy_if_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type copy_if_impl(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -32,7 +32,7 @@ namespace sprout {
|
||||||
// copy_if
|
// copy_if
|
||||||
//
|
//
|
||||||
template<typename InputIterator, typename Result, typename Predicate>
|
template<typename InputIterator, typename Result, typename Predicate>
|
||||||
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(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator, typename Size, typename Result>
|
template<typename InputIterator, typename Size, typename Result>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type copy_n_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type copy_n_impl(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
Size n,
|
Size n,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -31,7 +31,7 @@ namespace sprout {
|
||||||
// copy_n
|
// copy_n
|
||||||
//
|
//
|
||||||
template<typename InputIterator, typename Size, typename Result>
|
template<typename InputIterator, typename Size, typename Result>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type copy_n(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type copy_n(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
Size n,
|
Size n,
|
||||||
Result const& result
|
Result const& result
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename T>
|
template<typename Container, typename T>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type fill_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type fill_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
T const& value,
|
T const& value,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
|
@ -29,7 +29,7 @@ namespace sprout {
|
||||||
// fill
|
// fill
|
||||||
//
|
//
|
||||||
template<typename Container, typename T>
|
template<typename Container, typename T>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type fill(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type fill(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
T const& value
|
T const& value
|
||||||
)
|
)
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename Size, typename T>
|
template<typename Container, typename Size, typename T>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type fill_n_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type fill_n_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Size n,
|
Size n,
|
||||||
T const& value,
|
T const& value,
|
||||||
|
@ -31,7 +31,7 @@ namespace sprout {
|
||||||
// fill_n
|
// fill_n
|
||||||
//
|
//
|
||||||
template<typename Container, typename Size, typename T>
|
template<typename Container, typename Size, typename T>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type fill_n(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type fill_n(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Size n,
|
Size n,
|
||||||
T const& value
|
T const& value
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename Generator, typename... Inits>
|
template<typename Container, typename Generator, typename... Inits>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type generate_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type generate_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Generator gen,
|
Generator gen,
|
||||||
typename sprout::container_traits<Container>::difference_type offset,
|
typename sprout::container_traits<Container>::difference_type offset,
|
||||||
|
@ -30,7 +30,7 @@ namespace sprout {
|
||||||
// generate
|
// generate
|
||||||
//
|
//
|
||||||
template<typename Container, typename Generator, typename... Inits>
|
template<typename Container, typename Generator, typename... Inits>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type generate(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type generate(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Generator gen,
|
Generator gen,
|
||||||
Inits const&... inits
|
Inits const&... inits
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename Size, typename Generator, typename... Inits>
|
template<typename Container, typename Size, typename Generator, typename... Inits>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type generate_n_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type generate_n_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Size n,
|
Size n,
|
||||||
Generator gen,
|
Generator gen,
|
||||||
|
@ -32,7 +32,7 @@ namespace sprout {
|
||||||
// generate_n
|
// generate_n
|
||||||
//
|
//
|
||||||
template<typename Container, typename Size, typename Generator, typename... Inits>
|
template<typename Container, typename Size, typename Generator, typename... Inits>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type generate_n(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type generate_n(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Size n,
|
Size n,
|
||||||
Generator gen,
|
Generator gen,
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type inplace_merge_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type inplace_merge_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator middle,
|
typename sprout::container_traits<Container>::const_iterator middle,
|
||||||
Compare comp,
|
Compare comp,
|
||||||
|
@ -30,7 +30,7 @@ namespace sprout {
|
||||||
// inplace_merge
|
// inplace_merge
|
||||||
//
|
//
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type inplace_merge(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type inplace_merge(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator middle,
|
typename sprout::container_traits<Container>::const_iterator middle,
|
||||||
Compare comp
|
Compare comp
|
||||||
|
@ -41,7 +41,7 @@ namespace sprout {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type inplace_merge_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type inplace_merge_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator middle,
|
typename sprout::container_traits<Container>::const_iterator middle,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
|
@ -58,7 +58,7 @@ namespace sprout {
|
||||||
// inplace_merge
|
// inplace_merge
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type inplace_merge(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type inplace_merge(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator middle
|
typename sprout::container_traits<Container>::const_iterator middle
|
||||||
)
|
)
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type make_heap_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type make_heap_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp,
|
Compare comp,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
|
@ -29,7 +29,7 @@ namespace sprout {
|
||||||
// make_heap
|
// make_heap
|
||||||
//
|
//
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type make_heap(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type make_heap(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp
|
Compare comp
|
||||||
)
|
)
|
||||||
|
@ -39,7 +39,7 @@ namespace sprout {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type make_heap_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type make_heap_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
)
|
)
|
||||||
|
@ -55,7 +55,7 @@ namespace sprout {
|
||||||
// make_heap
|
// make_heap
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type make_heap(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type make_heap(
|
||||||
Container const& cont
|
Container const& cont
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type make_partial_heap_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type make_partial_heap_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator middle,
|
typename sprout::container_traits<Container>::const_iterator middle,
|
||||||
Compare comp,
|
Compare comp,
|
||||||
|
@ -31,7 +31,7 @@ namespace sprout {
|
||||||
// make_partial_heap
|
// make_partial_heap
|
||||||
//
|
//
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type make_partial_heap(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type make_partial_heap(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator middle,
|
typename sprout::container_traits<Container>::const_iterator middle,
|
||||||
Compare comp
|
Compare comp
|
||||||
|
@ -42,7 +42,7 @@ namespace sprout {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type make_partial_heap_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type make_partial_heap_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator middle,
|
typename sprout::container_traits<Container>::const_iterator middle,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
|
@ -59,7 +59,7 @@ namespace sprout {
|
||||||
// make_partial_heap
|
// make_partial_heap
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type make_partial_heap(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type make_partial_heap(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator middle
|
typename sprout::container_traits<Container>::const_iterator middle
|
||||||
)
|
)
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type merge_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type merge_impl(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
@ -38,7 +38,7 @@ namespace sprout {
|
||||||
// merge
|
// merge
|
||||||
//
|
//
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type merge(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type merge(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
@ -52,7 +52,7 @@ namespace sprout {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result>
|
template<typename InputIterator1, typename InputIterator2, typename Result>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type merge_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type merge_impl(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
@ -75,7 +75,7 @@ namespace sprout {
|
||||||
// merge
|
// merge
|
||||||
//
|
//
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result>
|
template<typename InputIterator1, typename InputIterator2, typename Result>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type merge(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type merge(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type nth_element_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type nth_element_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator nth,
|
typename sprout::container_traits<Container>::const_iterator nth,
|
||||||
Compare comp,
|
Compare comp,
|
||||||
|
@ -31,7 +31,7 @@ namespace sprout {
|
||||||
// nth_element
|
// nth_element
|
||||||
//
|
//
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type nth_element(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type nth_element(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator nth,
|
typename sprout::container_traits<Container>::const_iterator nth,
|
||||||
Compare comp
|
Compare comp
|
||||||
|
@ -42,7 +42,7 @@ namespace sprout {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type nth_element_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type nth_element_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator nth,
|
typename sprout::container_traits<Container>::const_iterator nth,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
|
@ -59,7 +59,7 @@ namespace sprout {
|
||||||
// nth_element
|
// nth_element
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type nth_element(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type nth_element(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator nth
|
typename sprout::container_traits<Container>::const_iterator nth
|
||||||
)
|
)
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type partial_sort_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type partial_sort_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator middle,
|
typename sprout::container_traits<Container>::const_iterator middle,
|
||||||
Compare comp,
|
Compare comp,
|
||||||
|
@ -31,7 +31,7 @@ namespace sprout {
|
||||||
// partial_sort
|
// partial_sort
|
||||||
//
|
//
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type partial_sort(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type partial_sort(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator middle,
|
typename sprout::container_traits<Container>::const_iterator middle,
|
||||||
Compare comp
|
Compare comp
|
||||||
|
@ -42,7 +42,7 @@ namespace sprout {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type partial_sort_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type partial_sort_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator middle,
|
typename sprout::container_traits<Container>::const_iterator middle,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
|
@ -59,7 +59,7 @@ namespace sprout {
|
||||||
// partial_sort
|
// partial_sort
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type partial_sort(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type partial_sort(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator middle
|
typename sprout::container_traits<Container>::const_iterator middle
|
||||||
)
|
)
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename Predicate>
|
template<typename Container, typename Predicate>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type partition_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type partition_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Predicate pred,
|
Predicate pred,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
|
@ -30,7 +30,7 @@ namespace sprout {
|
||||||
// partition
|
// partition
|
||||||
//
|
//
|
||||||
template<typename Container, typename Predicate>
|
template<typename Container, typename Predicate>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type partition(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type partition(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Predicate pred
|
Predicate pred
|
||||||
)
|
)
|
||||||
|
|
|
@ -15,7 +15,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator, typename Result, typename Predicate>
|
template<typename InputIterator, typename Result, typename Predicate>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type partition_copy_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type partition_copy_impl(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -41,7 +41,7 @@ namespace sprout {
|
||||||
// partition_copy
|
// partition_copy
|
||||||
//
|
//
|
||||||
template<typename InputIterator, typename Result, typename Predicate>
|
template<typename InputIterator, 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(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type pop_heap_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type pop_heap_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp,
|
Compare comp,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
|
@ -29,7 +29,7 @@ namespace sprout {
|
||||||
// pop_heap
|
// pop_heap
|
||||||
//
|
//
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type pop_heap(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type pop_heap(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp
|
Compare comp
|
||||||
)
|
)
|
||||||
|
@ -39,7 +39,7 @@ namespace sprout {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type pop_heap_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type pop_heap_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
)
|
)
|
||||||
|
@ -55,7 +55,7 @@ namespace sprout {
|
||||||
// pop_heap
|
// pop_heap
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type pop_heap(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type pop_heap(
|
||||||
Container const& cont
|
Container const& cont
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type push_heap_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type push_heap_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp,
|
Compare comp,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
|
@ -29,7 +29,7 @@ namespace sprout {
|
||||||
// push_heap
|
// push_heap
|
||||||
//
|
//
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type push_heap(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type push_heap(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp
|
Compare comp
|
||||||
)
|
)
|
||||||
|
@ -39,7 +39,7 @@ namespace sprout {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type push_heap_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type push_heap_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
)
|
)
|
||||||
|
@ -55,7 +55,7 @@ namespace sprout {
|
||||||
// push_heap
|
// push_heap
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type push_heap(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type push_heap(
|
||||||
Container const& cont
|
Container const& cont
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename T>
|
template<typename Container, typename T>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type remove_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type remove_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
T const& value,
|
T const& value,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
|
@ -30,7 +30,7 @@ namespace sprout {
|
||||||
// remove
|
// remove
|
||||||
//
|
//
|
||||||
template<typename Container, typename T>
|
template<typename Container, typename T>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type remove(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type remove(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
T const& value
|
T const& value
|
||||||
)
|
)
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator, typename Result, typename T>
|
template<typename InputIterator, typename Result, typename T>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type remove_copy_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type remove_copy_impl(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -33,7 +33,7 @@ namespace sprout {
|
||||||
// remove_copy
|
// remove_copy
|
||||||
//
|
//
|
||||||
template<typename InputIterator, typename Result, typename T>
|
template<typename InputIterator, 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(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator, typename Result, typename Predicate>
|
template<typename InputIterator, typename Result, typename Predicate>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type remove_copy_if_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type remove_copy_if_impl(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -33,7 +33,7 @@ namespace sprout {
|
||||||
// remove_copy_if
|
// remove_copy_if
|
||||||
//
|
//
|
||||||
template<typename InputIterator, typename Result, typename Predicate>
|
template<typename InputIterator, 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(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename Predicate>
|
template<typename Container, typename Predicate>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type remove_if_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type remove_if_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Predicate pred,
|
Predicate pred,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
|
@ -30,7 +30,7 @@ namespace sprout {
|
||||||
// remove_if
|
// remove_if
|
||||||
//
|
//
|
||||||
template<typename Container, typename Predicate>
|
template<typename Container, typename Predicate>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type remove_if(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type remove_if(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Predicate pred
|
Predicate pred
|
||||||
)
|
)
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename T>
|
template<typename Container, typename T>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type replace_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type replace_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
T const& old_value,
|
T const& old_value,
|
||||||
T const& new_value,
|
T const& new_value,
|
||||||
|
@ -30,7 +30,7 @@ namespace sprout {
|
||||||
// replace
|
// replace
|
||||||
//
|
//
|
||||||
template<typename Container, typename T>
|
template<typename Container, typename T>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type replace(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type replace(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
T const& old_value,
|
T const& old_value,
|
||||||
T const& new_value
|
T const& new_value
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator, typename Result, typename T>
|
template<typename InputIterator, typename Result, typename T>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type replace_copy_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type replace_copy_impl(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -34,7 +34,7 @@ namespace sprout {
|
||||||
// replace_copy
|
// replace_copy
|
||||||
//
|
//
|
||||||
template<typename InputIterator, typename Result, typename T>
|
template<typename InputIterator, 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(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator, typename Result, typename T, typename Predicate>
|
template<typename InputIterator, typename Result, typename T, typename Predicate>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type replace_copy_if_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type replace_copy_if_impl(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -34,7 +34,7 @@ namespace sprout {
|
||||||
// replace_copy_if
|
// replace_copy_if
|
||||||
//
|
//
|
||||||
template<typename InputIterator, typename Result, typename T, typename Predicate>
|
template<typename InputIterator, 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(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename T, typename Predicate>
|
template<typename Container, typename T, typename Predicate>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type replace_if_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type replace_if_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Predicate pred,
|
Predicate pred,
|
||||||
T const& new_value,
|
T const& new_value,
|
||||||
|
@ -30,7 +30,7 @@ namespace sprout {
|
||||||
// replace_if
|
// replace_if
|
||||||
//
|
//
|
||||||
template<typename Container, typename T, typename Predicate>
|
template<typename Container, typename T, typename Predicate>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type replace_if(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type replace_if(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Predicate pred,
|
Predicate pred,
|
||||||
T const& new_value
|
T const& new_value
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type reverse_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type reverse_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
)
|
)
|
||||||
|
@ -28,7 +28,7 @@ namespace sprout {
|
||||||
// reverse
|
// reverse
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type reverse(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type reverse(
|
||||||
Container const& cont
|
Container const& cont
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename BidirectionalIterator, typename Result>
|
template<typename BidirectionalIterator, typename Result>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type reverse_copy_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type reverse_copy_impl(
|
||||||
BidirectionalIterator first,
|
BidirectionalIterator first,
|
||||||
BidirectionalIterator last,
|
BidirectionalIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -32,7 +32,7 @@ namespace sprout {
|
||||||
// reverse_copy
|
// reverse_copy
|
||||||
//
|
//
|
||||||
template<typename BidirectionalIterator, typename Result>
|
template<typename BidirectionalIterator, 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(
|
||||||
BidirectionalIterator first,
|
BidirectionalIterator first,
|
||||||
BidirectionalIterator last,
|
BidirectionalIterator last,
|
||||||
Result const& result
|
Result const& result
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type rotate_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type rotate_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator middle,
|
typename sprout::container_traits<Container>::const_iterator middle,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
|
@ -29,7 +29,7 @@ namespace sprout {
|
||||||
// rotate
|
// rotate
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type rotate(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type rotate(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator middle
|
typename sprout::container_traits<Container>::const_iterator middle
|
||||||
)
|
)
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename ForwardIterator, typename Result>
|
template<typename ForwardIterator, typename Result>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type rotate_copy_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type rotate_copy_impl(
|
||||||
ForwardIterator first,
|
ForwardIterator first,
|
||||||
ForwardIterator middle,
|
ForwardIterator middle,
|
||||||
ForwardIterator last,
|
ForwardIterator last,
|
||||||
|
@ -33,7 +33,7 @@ namespace sprout {
|
||||||
// rotate_copy
|
// rotate_copy
|
||||||
//
|
//
|
||||||
template<typename ForwardIterator, typename Result>
|
template<typename ForwardIterator, 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(
|
||||||
ForwardIterator first,
|
ForwardIterator first,
|
||||||
ForwardIterator middle,
|
ForwardIterator middle,
|
||||||
ForwardIterator last,
|
ForwardIterator last,
|
||||||
|
|
|
@ -15,7 +15,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_difference_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_difference_impl(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
@ -41,7 +41,7 @@ namespace sprout {
|
||||||
// set_difference
|
// set_difference
|
||||||
//
|
//
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_difference(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_difference(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
@ -55,7 +55,7 @@ namespace sprout {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result>
|
template<typename InputIterator1, typename InputIterator2, typename Result>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_difference_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_difference_impl(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
@ -80,7 +80,7 @@ namespace sprout {
|
||||||
// set_difference
|
// set_difference
|
||||||
//
|
//
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result>
|
template<typename InputIterator1, typename InputIterator2, typename Result>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_difference(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_difference(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_intersection_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_intersection_impl(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
@ -38,7 +38,7 @@ namespace sprout {
|
||||||
// set_intersection
|
// set_intersection
|
||||||
//
|
//
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_intersection(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_intersection(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
@ -52,7 +52,7 @@ namespace sprout {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result>
|
template<typename InputIterator1, typename InputIterator2, typename Result>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_intersection_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_intersection_impl(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
@ -75,7 +75,7 @@ namespace sprout {
|
||||||
// set_intersection
|
// set_intersection
|
||||||
//
|
//
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result>
|
template<typename InputIterator1, typename InputIterator2, typename Result>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_intersection(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_intersection(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
|
|
@ -15,7 +15,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_symmetric_difference_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_symmetric_difference_impl(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
@ -42,7 +42,7 @@ namespace sprout {
|
||||||
// set_symmetric_difference
|
// set_symmetric_difference
|
||||||
//
|
//
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_symmetric_difference(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_symmetric_difference(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
@ -56,7 +56,7 @@ namespace sprout {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result>
|
template<typename InputIterator1, typename InputIterator2, typename Result>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_symmetric_difference_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_symmetric_difference_impl(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
@ -82,7 +82,7 @@ namespace sprout {
|
||||||
// set_symmetric_difference
|
// set_symmetric_difference
|
||||||
//
|
//
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result>
|
template<typename InputIterator1, typename InputIterator2, typename Result>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_symmetric_difference(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_symmetric_difference(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
|
|
@ -15,7 +15,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_union_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_union_impl(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
@ -42,7 +42,7 @@ namespace sprout {
|
||||||
// set_union
|
// set_union
|
||||||
//
|
//
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_union(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_union(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
@ -56,7 +56,7 @@ namespace sprout {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result>
|
template<typename InputIterator1, typename InputIterator2, typename Result>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_union_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_union_impl(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
@ -82,7 +82,7 @@ namespace sprout {
|
||||||
// set_union
|
// set_union
|
||||||
//
|
//
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result>
|
template<typename InputIterator1, typename InputIterator2, typename Result>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_union(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_union(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename UniformRandomNumberGenerator>
|
template<typename Container, typename UniformRandomNumberGenerator>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type shuffle_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type shuffle_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
UniformRandomNumberGenerator&& g,
|
UniformRandomNumberGenerator&& g,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
|
@ -30,7 +30,7 @@ namespace sprout {
|
||||||
// shuffle
|
// shuffle
|
||||||
//
|
//
|
||||||
template<typename Container, typename UniformRandomNumberGenerator>
|
template<typename Container, typename UniformRandomNumberGenerator>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type shuffle(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type shuffle(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
UniformRandomNumberGenerator&& g
|
UniformRandomNumberGenerator&& g
|
||||||
)
|
)
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename UniformRandomNumberGenerator, typename Shuffled>
|
template<typename Container, typename UniformRandomNumberGenerator, typename Shuffled>
|
||||||
SPROUT_CONSTEXPR inline sprout::tuples::tuple<
|
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
|
||||||
typename sprout::fit::result_of::algorithm<Container>::type,
|
typename sprout::fit::result_of::algorithm<Container>::type,
|
||||||
typename std::decay<UniformRandomNumberGenerator>::type
|
typename std::decay<UniformRandomNumberGenerator>::type
|
||||||
> shuffle_result_impl_1(
|
> shuffle_result_impl_1(
|
||||||
|
@ -36,7 +36,7 @@ namespace sprout {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
template<typename Container, typename UniformRandomNumberGenerator>
|
template<typename Container, typename UniformRandomNumberGenerator>
|
||||||
SPROUT_CONSTEXPR inline sprout::tuples::tuple<
|
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
|
||||||
typename sprout::fit::result_of::algorithm<Container>::type,
|
typename sprout::fit::result_of::algorithm<Container>::type,
|
||||||
typename std::decay<UniformRandomNumberGenerator>::type
|
typename std::decay<UniformRandomNumberGenerator>::type
|
||||||
> shuffle_result_impl(
|
> shuffle_result_impl(
|
||||||
|
@ -55,7 +55,7 @@ namespace sprout {
|
||||||
// shuffle_result
|
// shuffle_result
|
||||||
//
|
//
|
||||||
template<typename Container, typename UniformRandomNumberGenerator>
|
template<typename Container, typename UniformRandomNumberGenerator>
|
||||||
SPROUT_CONSTEXPR inline sprout::tuples::tuple<
|
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
|
||||||
typename sprout::fit::result_of::algorithm<Container>::type,
|
typename sprout::fit::result_of::algorithm<Container>::type,
|
||||||
typename std::decay<UniformRandomNumberGenerator>::type
|
typename std::decay<UniformRandomNumberGenerator>::type
|
||||||
> shuffle_result(
|
> shuffle_result(
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type sort_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type sort_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp,
|
Compare comp,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
|
@ -29,7 +29,7 @@ namespace sprout {
|
||||||
// sort
|
// sort
|
||||||
//
|
//
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type sort(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type sort(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp
|
Compare comp
|
||||||
)
|
)
|
||||||
|
@ -39,7 +39,7 @@ namespace sprout {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type sort_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type sort_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
)
|
)
|
||||||
|
@ -55,7 +55,7 @@ namespace sprout {
|
||||||
// sort
|
// sort
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type sort(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type sort(
|
||||||
Container const& cont
|
Container const& cont
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type sort_heap_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type sort_heap_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp,
|
Compare comp,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
|
@ -29,7 +29,7 @@ namespace sprout {
|
||||||
// sort_heap
|
// sort_heap
|
||||||
//
|
//
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type sort_heap(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type sort_heap(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp
|
Compare comp
|
||||||
)
|
)
|
||||||
|
@ -39,7 +39,7 @@ namespace sprout {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type sort_heap_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type sort_heap_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
)
|
)
|
||||||
|
@ -55,7 +55,7 @@ namespace sprout {
|
||||||
// sort_heap
|
// sort_heap
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type sort_heap(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type sort_heap(
|
||||||
Container const& cont
|
Container const& cont
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename Predicate>
|
template<typename Container, typename Predicate>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type stable_partition_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type stable_partition_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Predicate pred,
|
Predicate pred,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
|
@ -30,7 +30,7 @@ namespace sprout {
|
||||||
// stable_partition
|
// stable_partition
|
||||||
//
|
//
|
||||||
template<typename Container, typename Predicate>
|
template<typename Container, typename Predicate>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type stable_partition(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type stable_partition(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Predicate pred
|
Predicate pred
|
||||||
)
|
)
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator, typename Result, typename Predicate>
|
template<typename InputIterator, typename Result, typename Predicate>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type stable_partition_copy_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type stable_partition_copy_impl(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -32,7 +32,7 @@ namespace sprout {
|
||||||
// stable_partition_copy
|
// stable_partition_copy
|
||||||
//
|
//
|
||||||
template<typename InputIterator, typename Result, typename Predicate>
|
template<typename InputIterator, 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(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type stable_sort_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type stable_sort_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp,
|
Compare comp,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
|
@ -29,7 +29,7 @@ namespace sprout {
|
||||||
// stable_sort
|
// stable_sort
|
||||||
//
|
//
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type stable_sort(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type stable_sort(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp
|
Compare comp
|
||||||
)
|
)
|
||||||
|
@ -39,7 +39,7 @@ namespace sprout {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type stable_sort_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type stable_sort_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
)
|
)
|
||||||
|
@ -55,7 +55,7 @@ namespace sprout {
|
||||||
// stable_sort
|
// stable_sort
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type stable_sort(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type stable_sort(
|
||||||
Container const& cont
|
Container const& cont
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type swap_element_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type swap_element_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator pos1,
|
typename sprout::container_traits<Container>::const_iterator pos1,
|
||||||
typename sprout::container_traits<Container>::const_iterator pos2,
|
typename sprout::container_traits<Container>::const_iterator pos2,
|
||||||
|
@ -31,7 +31,7 @@ namespace sprout {
|
||||||
// swap_element
|
// swap_element
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type swap_element(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type swap_element(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator pos1,
|
typename sprout::container_traits<Container>::const_iterator pos1,
|
||||||
typename sprout::container_traits<Container>::const_iterator pos2
|
typename sprout::container_traits<Container>::const_iterator pos2
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator, typename Result>
|
template<typename InputIterator, typename Result>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type swap_element_copy_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type swap_element_copy_impl(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -34,7 +34,7 @@ namespace sprout {
|
||||||
// swap_element_copy
|
// swap_element_copy
|
||||||
//
|
//
|
||||||
template<typename InputIterator, typename Result>
|
template<typename InputIterator, 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(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Iterator, typename Result, typename UnaryOperation>
|
template<typename Iterator, typename Result, typename UnaryOperation>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type transform_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type transform_impl(
|
||||||
Iterator first,
|
Iterator first,
|
||||||
Iterator last,
|
Iterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -33,7 +33,7 @@ namespace sprout {
|
||||||
// transform
|
// transform
|
||||||
//
|
//
|
||||||
template<typename Iterator, typename Result, typename UnaryOperation>
|
template<typename Iterator, typename Result, typename UnaryOperation>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type transform(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type transform(
|
||||||
Iterator first,
|
Iterator first,
|
||||||
Iterator last,
|
Iterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -45,7 +45,7 @@ namespace sprout {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Iterator1, typename Iterator2, typename Result, typename BinaryOperation>
|
template<typename Iterator1, typename Iterator2, typename Result, typename BinaryOperation>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type transform_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type transform_impl(
|
||||||
Iterator1 first1,
|
Iterator1 first1,
|
||||||
Iterator1 last1,
|
Iterator1 last1,
|
||||||
Iterator2 first2,
|
Iterator2 first2,
|
||||||
|
@ -65,7 +65,7 @@ namespace sprout {
|
||||||
// transform
|
// transform
|
||||||
//
|
//
|
||||||
template<typename Iterator1, typename Iterator2, typename Result, typename BinaryOperation>
|
template<typename Iterator1, typename Iterator2, typename Result, typename BinaryOperation>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type transform(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type transform(
|
||||||
Iterator1 first1,
|
Iterator1 first1,
|
||||||
Iterator1 last1,
|
Iterator1 last1,
|
||||||
Iterator2 first2,
|
Iterator2 first2,
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type unique_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type unique_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
)
|
)
|
||||||
|
@ -29,7 +29,7 @@ namespace sprout {
|
||||||
// unique
|
// unique
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type unique(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type unique(
|
||||||
Container const& cont
|
Container const& cont
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
@ -38,7 +38,7 @@ namespace sprout {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename BinaryPredicate>
|
template<typename Container, typename BinaryPredicate>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type unique_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type unique_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
BinaryPredicate pred,
|
BinaryPredicate pred,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
|
@ -55,7 +55,7 @@ namespace sprout {
|
||||||
// unique
|
// unique
|
||||||
//
|
//
|
||||||
template<typename Container, typename BinaryPredicate>
|
template<typename Container, typename BinaryPredicate>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type unique(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type unique(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
BinaryPredicate pred
|
BinaryPredicate pred
|
||||||
)
|
)
|
||||||
|
|
|
@ -15,7 +15,7 @@ namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator, typename Result>
|
template<typename InputIterator, typename Result>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type unique_copy_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type unique_copy_impl(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -33,7 +33,7 @@ namespace sprout {
|
||||||
// unique_copy
|
// unique_copy
|
||||||
//
|
//
|
||||||
template<typename InputIterator, typename Result>
|
template<typename InputIterator, 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(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result
|
Result const& result
|
||||||
|
@ -44,7 +44,7 @@ namespace sprout {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator, typename Result, typename BinaryPredicate>
|
template<typename InputIterator, typename Result, typename BinaryPredicate>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type unique_copy_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type unique_copy_impl(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -63,7 +63,7 @@ namespace sprout {
|
||||||
// unique_copy
|
// unique_copy
|
||||||
//
|
//
|
||||||
template<typename InputIterator, typename Result, typename BinaryPredicate>
|
template<typename InputIterator, 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(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
|
|
@ -16,7 +16,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename Shuffled, typename Compare>
|
template<typename Container, typename Shuffled, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type bogo_sort_impl_1(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type bogo_sort_impl_1(
|
||||||
Shuffled const& shuffled,
|
Shuffled const& shuffled,
|
||||||
Compare comp
|
Compare comp
|
||||||
)
|
)
|
||||||
|
@ -37,7 +37,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
|
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type bogo_sort_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type bogo_sort_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
UniformRandomNumberGenerator&& g,
|
UniformRandomNumberGenerator&& g,
|
||||||
Compare comp
|
Compare comp
|
||||||
|
@ -63,7 +63,7 @@ namespace sprout {
|
||||||
// bogo_sort
|
// bogo_sort
|
||||||
//
|
//
|
||||||
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
|
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type bogo_sort(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type bogo_sort(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
UniformRandomNumberGenerator&& g,
|
UniformRandomNumberGenerator&& g,
|
||||||
Compare comp
|
Compare comp
|
||||||
|
@ -79,7 +79,7 @@ namespace sprout {
|
||||||
// bogo_sort
|
// bogo_sort
|
||||||
//
|
//
|
||||||
template<typename Container, typename UniformRandomNumberGenerator>
|
template<typename Container, typename UniformRandomNumberGenerator>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type bogo_sort(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type bogo_sort(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
UniformRandomNumberGenerator&& g
|
UniformRandomNumberGenerator&& g
|
||||||
)
|
)
|
||||||
|
|
|
@ -17,7 +17,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename UniformRandomNumberGenerator, typename Shuffled, typename Compare>
|
template<typename Container, typename UniformRandomNumberGenerator, typename Shuffled, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline sprout::tuples::tuple<
|
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
|
||||||
typename sprout::fixed::result_of::algorithm<Container>::type,
|
typename sprout::fixed::result_of::algorithm<Container>::type,
|
||||||
typename std::decay<UniformRandomNumberGenerator>::type
|
typename std::decay<UniformRandomNumberGenerator>::type
|
||||||
> bogo_sort_result_impl_1(
|
> bogo_sort_result_impl_1(
|
||||||
|
@ -41,7 +41,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
|
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline sprout::tuples::tuple<
|
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
|
||||||
typename sprout::fixed::result_of::algorithm<Container>::type,
|
typename sprout::fixed::result_of::algorithm<Container>::type,
|
||||||
typename std::decay<UniformRandomNumberGenerator>::type
|
typename std::decay<UniformRandomNumberGenerator>::type
|
||||||
> bogo_sort_result_impl(
|
> bogo_sort_result_impl(
|
||||||
|
@ -77,7 +77,7 @@ namespace sprout {
|
||||||
// bogo_sort_result
|
// bogo_sort_result
|
||||||
//
|
//
|
||||||
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
|
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline sprout::tuples::tuple<
|
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
|
||||||
typename sprout::fixed::result_of::algorithm<Container>::type,
|
typename sprout::fixed::result_of::algorithm<Container>::type,
|
||||||
typename std::decay<UniformRandomNumberGenerator>::type
|
typename std::decay<UniformRandomNumberGenerator>::type
|
||||||
> bogo_sort_result(
|
> bogo_sort_result(
|
||||||
|
@ -96,7 +96,7 @@ namespace sprout {
|
||||||
// bogo_sort_result
|
// bogo_sort_result
|
||||||
//
|
//
|
||||||
template<typename Container, typename UniformRandomNumberGenerator>
|
template<typename Container, typename UniformRandomNumberGenerator>
|
||||||
SPROUT_CONSTEXPR inline sprout::tuples::tuple<
|
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
|
||||||
typename sprout::fixed::result_of::algorithm<Container>::type,
|
typename sprout::fixed::result_of::algorithm<Container>::type,
|
||||||
typename std::decay<UniformRandomNumberGenerator>::type
|
typename std::decay<UniformRandomNumberGenerator>::type
|
||||||
> bogo_sort_result(
|
> bogo_sort_result(
|
||||||
|
|
|
@ -16,7 +16,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename RandomAccessIterator, typename Result, sprout::index_t... Indexes>
|
template<typename RandomAccessIterator, typename Result, sprout::index_t... Indexes>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type copy_impl_ra(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type copy_impl_ra(
|
||||||
RandomAccessIterator first,
|
RandomAccessIterator first,
|
||||||
RandomAccessIterator last,
|
RandomAccessIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -36,7 +36,7 @@ namespace sprout {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
template<typename RandomAccessIterator, typename Result>
|
template<typename RandomAccessIterator, 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(
|
||||||
RandomAccessIterator first,
|
RandomAccessIterator first,
|
||||||
RandomAccessIterator last,
|
RandomAccessIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -54,7 +54,7 @@ namespace sprout {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
template<typename InputIterator, typename Result, typename... Args>
|
template<typename InputIterator, typename Result, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type copy_impl(
|
>::type copy_impl(
|
||||||
|
@ -68,7 +68,7 @@ namespace sprout {
|
||||||
return sprout::remake<Result>(result, sprout::size(result), args...);
|
return sprout::remake<Result>(result, sprout::size(result), args...);
|
||||||
}
|
}
|
||||||
template<typename InputIterator, typename Result, typename... Args>
|
template<typename InputIterator, typename Result, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type copy_impl(
|
>::type copy_impl(
|
||||||
|
@ -85,7 +85,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
template<typename InputIterator, typename Result>
|
template<typename InputIterator, 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(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -99,7 +99,7 @@ namespace sprout {
|
||||||
// copy
|
// copy
|
||||||
//
|
//
|
||||||
template<typename InputIterator, typename Result>
|
template<typename InputIterator, 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(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result
|
Result const& result
|
||||||
|
|
|
@ -17,7 +17,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename RandomAccessIterator, typename Result, sprout::index_t... Indexes>
|
template<typename RandomAccessIterator, typename Result, sprout::index_t... Indexes>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type copy_backward_impl_ra(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type copy_backward_impl_ra(
|
||||||
RandomAccessIterator first,
|
RandomAccessIterator first,
|
||||||
RandomAccessIterator last,
|
RandomAccessIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -37,7 +37,7 @@ namespace sprout {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
template<typename RandomAccessIterator, typename Result>
|
template<typename RandomAccessIterator, 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(
|
||||||
RandomAccessIterator first,
|
RandomAccessIterator first,
|
||||||
RandomAccessIterator last,
|
RandomAccessIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -55,7 +55,7 @@ namespace sprout {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
template<typename BidirectionalIterator, typename Result, typename... Args>
|
template<typename BidirectionalIterator, typename Result, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type copy_backward_impl(
|
>::type copy_backward_impl(
|
||||||
|
@ -69,7 +69,7 @@ namespace sprout {
|
||||||
return sprout::remake<Result>(result, sprout::size(result), args...);
|
return sprout::remake<Result>(result, sprout::size(result), args...);
|
||||||
}
|
}
|
||||||
template<typename BidirectionalIterator, typename Result, typename... Args>
|
template<typename BidirectionalIterator, typename Result, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type copy_backward_impl(
|
>::type copy_backward_impl(
|
||||||
|
@ -86,7 +86,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
template<typename BidirectionalIterator, typename Result>
|
template<typename BidirectionalIterator, 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(
|
||||||
BidirectionalIterator first,
|
BidirectionalIterator first,
|
||||||
BidirectionalIterator last,
|
BidirectionalIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -105,7 +105,7 @@ namespace sprout {
|
||||||
// copy_backward
|
// copy_backward
|
||||||
//
|
//
|
||||||
template<typename BidirectionalIterator, typename Result>
|
template<typename BidirectionalIterator, 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(
|
||||||
BidirectionalIterator first,
|
BidirectionalIterator first,
|
||||||
BidirectionalIterator last,
|
BidirectionalIterator last,
|
||||||
Result const& result
|
Result const& result
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator, typename Result, typename Predicate, typename... Args>
|
template<typename InputIterator, typename Result, typename Predicate, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type copy_if_impl(
|
>::type copy_if_impl(
|
||||||
|
@ -28,7 +28,7 @@ namespace sprout {
|
||||||
return sprout::remake<Result>(result, sprout::size(result), args...);
|
return sprout::remake<Result>(result, sprout::size(result), args...);
|
||||||
}
|
}
|
||||||
template<typename InputIterator, typename Result, typename Predicate, typename... Args>
|
template<typename InputIterator, typename Result, typename Predicate, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type copy_if_impl(
|
>::type copy_if_impl(
|
||||||
|
@ -52,7 +52,7 @@ namespace sprout {
|
||||||
// copy_if
|
// copy_if
|
||||||
//
|
//
|
||||||
template<typename InputIterator, typename Result, typename Predicate>
|
template<typename InputIterator, typename Result, typename Predicate>
|
||||||
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(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
|
|
@ -15,7 +15,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename RandomAccessIterator, typename Size, typename Result>
|
template<typename RandomAccessIterator, typename Size, typename Result>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type copy_n(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type copy_n(
|
||||||
RandomAccessIterator first,
|
RandomAccessIterator first,
|
||||||
Size n,
|
Size n,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -25,7 +25,7 @@ namespace sprout {
|
||||||
return sprout::fixed::copy(first, sprout::next(first, n), result);
|
return sprout::fixed::copy(first, sprout::next(first, n), result);
|
||||||
}
|
}
|
||||||
template<typename InputIterator, typename Size, typename Result, typename... Args>
|
template<typename InputIterator, typename Size, typename Result, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type copy_n_impl(
|
>::type copy_n_impl(
|
||||||
|
@ -39,7 +39,7 @@ namespace sprout {
|
||||||
return sprout::remake<Result>(result, sprout::size(result), args...);
|
return sprout::remake<Result>(result, sprout::size(result), args...);
|
||||||
}
|
}
|
||||||
template<typename InputIterator, typename Size, typename Result, typename... Args>
|
template<typename InputIterator, typename Size, typename Result, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type copy_n_impl(
|
>::type copy_n_impl(
|
||||||
|
@ -56,7 +56,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
template<typename InputIterator, typename Size, typename Result>
|
template<typename InputIterator, typename Size, typename Result>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type copy_n(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type copy_n(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
Size n,
|
Size n,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -70,7 +70,7 @@ namespace sprout {
|
||||||
// copy_n
|
// copy_n
|
||||||
//
|
//
|
||||||
template<typename InputIterator, typename Size, typename Result>
|
template<typename InputIterator, typename Size, typename Result>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type copy_n(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type copy_n(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
Size n,
|
Size n,
|
||||||
Result const& result
|
Result const& result
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename T, sprout::index_t... Indexes>
|
template<typename Container, typename T, sprout::index_t... Indexes>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type fill_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type fill_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
T const& value,
|
T const& value,
|
||||||
sprout::index_tuple<Indexes...>,
|
sprout::index_tuple<Indexes...>,
|
||||||
|
@ -34,7 +34,7 @@ namespace sprout {
|
||||||
// fill
|
// fill
|
||||||
//
|
//
|
||||||
template<typename Container, typename T>
|
template<typename Container, typename T>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type fill(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type fill(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
T const& value
|
T const& value
|
||||||
)
|
)
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
// fill_n
|
// fill_n
|
||||||
//
|
//
|
||||||
template<typename Container, typename Size, typename T>
|
template<typename Container, typename Size, typename T>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type fill_n(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type fill_n(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Size n,
|
Size n,
|
||||||
T const& value
|
T const& value
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<std::size_t InitSize, typename Container, typename Generator, typename... Args>
|
template<std::size_t InitSize, typename Container, typename Generator, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
InitSize == 0,
|
InitSize == 0,
|
||||||
typename sprout::container_traits<Container>::value_type
|
typename sprout::container_traits<Container>::value_type
|
||||||
>::type call_gen(
|
>::type call_gen(
|
||||||
|
@ -25,7 +25,7 @@ namespace sprout {
|
||||||
return gen();
|
return gen();
|
||||||
}
|
}
|
||||||
template<std::size_t InitSize, typename Container, typename Generator, typename Head, typename... Args>
|
template<std::size_t InitSize, typename Container, typename Generator, typename Head, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
InitSize != 0 && InitSize == sizeof...(Args) + 1,
|
InitSize != 0 && InitSize == sizeof...(Args) + 1,
|
||||||
typename sprout::container_traits<Container>::value_type
|
typename sprout::container_traits<Container>::value_type
|
||||||
>::type call_gen(
|
>::type call_gen(
|
||||||
|
@ -37,7 +37,7 @@ namespace sprout {
|
||||||
return gen(head, args...);
|
return gen(head, args...);
|
||||||
}
|
}
|
||||||
template<std::size_t InitSize, typename Container, typename Generator, typename Head, typename... Args>
|
template<std::size_t InitSize, typename Container, typename Generator, typename Head, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
InitSize != 0 && InitSize != sizeof...(Args) + 1,
|
InitSize != 0 && InitSize != sizeof...(Args) + 1,
|
||||||
typename sprout::container_traits<Container>::value_type
|
typename sprout::container_traits<Container>::value_type
|
||||||
>::type call_gen(
|
>::type call_gen(
|
||||||
|
@ -49,7 +49,7 @@ namespace sprout {
|
||||||
return call_gen<InitSize, Container>(gen, args...);
|
return call_gen<InitSize, Container>(gen, args...);
|
||||||
}
|
}
|
||||||
template<typename Container, typename Generator>
|
template<typename Container, typename Generator>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type generate_impl_drop(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type generate_impl_drop(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Generator gen,
|
Generator gen,
|
||||||
typename sprout::container_traits<Container>::size_type size
|
typename sprout::container_traits<Container>::size_type size
|
||||||
|
@ -58,7 +58,7 @@ namespace sprout {
|
||||||
return sprout::detail::container_complate(cont);
|
return sprout::detail::container_complate(cont);
|
||||||
}
|
}
|
||||||
template<typename Container, typename Generator, typename Head, typename... Inits>
|
template<typename Container, typename Generator, typename Head, typename... Inits>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
(sprout::container_traits<Container>::static_size >= sizeof...(Inits) + 1),
|
(sprout::container_traits<Container>::static_size >= sizeof...(Inits) + 1),
|
||||||
typename sprout::fixed::result_of::algorithm<Container>::type
|
typename sprout::fixed::result_of::algorithm<Container>::type
|
||||||
>::type generate_impl_drop(
|
>::type generate_impl_drop(
|
||||||
|
@ -75,7 +75,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
template<typename Container, typename Generator, typename Head, typename... Inits>
|
template<typename Container, typename Generator, typename Head, typename... Inits>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
(sprout::container_traits<Container>::static_size < sizeof...(Inits) + 1),
|
(sprout::container_traits<Container>::static_size < sizeof...(Inits) + 1),
|
||||||
typename sprout::fixed::result_of::algorithm<Container>::type
|
typename sprout::fixed::result_of::algorithm<Container>::type
|
||||||
>::type generate_impl_drop(
|
>::type generate_impl_drop(
|
||||||
|
@ -89,7 +89,7 @@ namespace sprout {
|
||||||
return sprout::fixed::detail::generate_impl_drop(cont, gen, size, inits...);
|
return sprout::fixed::detail::generate_impl_drop(cont, gen, size, inits...);
|
||||||
}
|
}
|
||||||
template<std::size_t InitSize, typename Container, typename Generator, typename... Args>
|
template<std::size_t InitSize, typename Container, typename Generator, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Container>::static_size == sizeof...(Args),
|
sprout::container_traits<Container>::static_size == sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Container>::type
|
typename sprout::fixed::result_of::algorithm<Container>::type
|
||||||
>::type generate_impl_1(
|
>::type generate_impl_1(
|
||||||
|
@ -102,7 +102,7 @@ namespace sprout {
|
||||||
return sprout::remake<Container>(cont, sprout::size(cont), args...);
|
return sprout::remake<Container>(cont, sprout::size(cont), args...);
|
||||||
}
|
}
|
||||||
template<std::size_t InitSize, typename Container, typename Generator, typename... Args>
|
template<std::size_t InitSize, typename Container, typename Generator, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Container>::static_size != sizeof...(Args),
|
sprout::container_traits<Container>::static_size != sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Container>::type
|
typename sprout::fixed::result_of::algorithm<Container>::type
|
||||||
>::type generate_impl_1(
|
>::type generate_impl_1(
|
||||||
|
@ -118,7 +118,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
template<typename Container, typename Generator, typename... Inits>
|
template<typename Container, typename Generator, typename... Inits>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
(sprout::container_traits<Container>::static_size > sizeof...(Inits)),
|
(sprout::container_traits<Container>::static_size > sizeof...(Inits)),
|
||||||
typename sprout::fixed::result_of::algorithm<Container>::type
|
typename sprout::fixed::result_of::algorithm<Container>::type
|
||||||
>::type generate_impl(
|
>::type generate_impl(
|
||||||
|
@ -134,7 +134,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
template<typename Container, typename Generator, typename... Inits>
|
template<typename Container, typename Generator, typename... Inits>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
(sprout::container_traits<Container>::static_size <= sizeof...(Inits)),
|
(sprout::container_traits<Container>::static_size <= sizeof...(Inits)),
|
||||||
typename sprout::fixed::result_of::algorithm<Container>::type
|
typename sprout::fixed::result_of::algorithm<Container>::type
|
||||||
>::type generate_impl(
|
>::type generate_impl(
|
||||||
|
@ -151,7 +151,7 @@ namespace sprout {
|
||||||
// generate
|
// generate
|
||||||
//
|
//
|
||||||
template<typename Container, typename Generator, typename... Inits>
|
template<typename Container, typename Generator, typename... Inits>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type generate(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type generate(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Generator gen,
|
Generator gen,
|
||||||
Inits const&... inits
|
Inits const&... inits
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
||||||
// generate_n
|
// generate_n
|
||||||
//
|
//
|
||||||
template<typename Container, typename Size, typename Generator, typename... Inits>
|
template<typename Container, typename Size, typename Generator, typename... Inits>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type generate_n(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type generate_n(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Size n,
|
Size n,
|
||||||
Generator gen,
|
Generator gen,
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
// inplace_merge
|
// inplace_merge
|
||||||
//
|
//
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type inplace_merge(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type inplace_merge(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator middle,
|
typename sprout::container_traits<Container>::const_iterator middle,
|
||||||
Compare comp
|
Compare comp
|
||||||
|
@ -32,7 +32,7 @@ namespace sprout {
|
||||||
// inplace_merge
|
// inplace_merge
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type inplace_merge(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type inplace_merge(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator middle
|
typename sprout::container_traits<Container>::const_iterator middle
|
||||||
)
|
)
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type make_heap_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type make_heap_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp,
|
Compare comp,
|
||||||
typename sprout::container_traits<Container>::difference_type offset,
|
typename sprout::container_traits<Container>::difference_type offset,
|
||||||
|
@ -23,7 +23,7 @@ namespace sprout {
|
||||||
typename sprout::container_traits<Container>::difference_type r = 2
|
typename sprout::container_traits<Container>::difference_type r = 2
|
||||||
);
|
);
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type make_heap_impl_1(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type make_heap_impl_1(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp,
|
Compare comp,
|
||||||
typename sprout::container_traits<Container>::difference_type offset,
|
typename sprout::container_traits<Container>::difference_type offset,
|
||||||
|
@ -67,7 +67,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type make_heap_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type make_heap_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp,
|
Compare comp,
|
||||||
typename sprout::container_traits<Container>::difference_type offset,
|
typename sprout::container_traits<Container>::difference_type offset,
|
||||||
|
@ -111,7 +111,7 @@ namespace sprout {
|
||||||
// make_heap
|
// make_heap
|
||||||
//
|
//
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type make_heap(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type make_heap(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp
|
Compare comp
|
||||||
)
|
)
|
||||||
|
@ -127,7 +127,7 @@ namespace sprout {
|
||||||
// make_heap
|
// make_heap
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type make_heap(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type make_heap(
|
||||||
Container const& cont
|
Container const& cont
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,7 +16,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type make_partial_heap_impl_1(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type make_partial_heap_impl_1(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp,
|
Compare comp,
|
||||||
typename sprout::container_traits<Container>::difference_type offset,
|
typename sprout::container_traits<Container>::difference_type offset,
|
||||||
|
@ -49,7 +49,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type make_partial_heap_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type make_partial_heap_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp,
|
Compare comp,
|
||||||
typename sprout::container_traits<Container>::difference_type offset,
|
typename sprout::container_traits<Container>::difference_type offset,
|
||||||
|
@ -71,7 +71,7 @@ namespace sprout {
|
||||||
// make_partial_heap
|
// make_partial_heap
|
||||||
//
|
//
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type make_partial_heap(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type make_partial_heap(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator middle,
|
typename sprout::container_traits<Container>::const_iterator middle,
|
||||||
Compare comp
|
Compare comp
|
||||||
|
@ -89,7 +89,7 @@ namespace sprout {
|
||||||
// make_partial_heap
|
// make_partial_heap
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type make_partial_heap(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type make_partial_heap(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator middle
|
typename sprout::container_traits<Container>::const_iterator middle
|
||||||
)
|
)
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
|
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type merge_impl(
|
>::type merge_impl(
|
||||||
|
@ -31,7 +31,7 @@ namespace sprout {
|
||||||
return sprout::remake<Result>(result, sprout::size(result), args...);
|
return sprout::remake<Result>(result, sprout::size(result), args...);
|
||||||
}
|
}
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
|
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type merge_impl(
|
>::type merge_impl(
|
||||||
|
@ -63,7 +63,7 @@ namespace sprout {
|
||||||
// merge
|
// merge
|
||||||
//
|
//
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
template<typename InputIterator1, typename InputIterator2, 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(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
@ -86,7 +86,7 @@ namespace sprout {
|
||||||
// merge
|
// merge
|
||||||
//
|
//
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result>
|
template<typename InputIterator1, typename InputIterator2, 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(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
|
|
@ -15,7 +15,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type nth_element_impl_1(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type nth_element_impl_1(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::difference_type offset,
|
typename sprout::container_traits<Container>::difference_type offset,
|
||||||
typename sprout::container_traits<Container>::difference_type nth_size
|
typename sprout::container_traits<Container>::difference_type nth_size
|
||||||
|
@ -28,7 +28,7 @@ namespace sprout {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type nth_element_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type nth_element_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp,
|
Compare comp,
|
||||||
typename sprout::container_traits<Container>::difference_type offset,
|
typename sprout::container_traits<Container>::difference_type offset,
|
||||||
|
@ -47,7 +47,7 @@ namespace sprout {
|
||||||
// nth_element
|
// nth_element
|
||||||
//
|
//
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type nth_element(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type nth_element(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator nth,
|
typename sprout::container_traits<Container>::const_iterator nth,
|
||||||
Compare comp
|
Compare comp
|
||||||
|
@ -65,7 +65,7 @@ namespace sprout {
|
||||||
// nth_element
|
// nth_element
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type nth_element(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type nth_element(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator nth
|
typename sprout::container_traits<Container>::const_iterator nth
|
||||||
)
|
)
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type partial_sort_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type partial_sort_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp,
|
Compare comp,
|
||||||
typename sprout::container_traits<Container>::difference_type offset,
|
typename sprout::container_traits<Container>::difference_type offset,
|
||||||
|
@ -34,7 +34,7 @@ namespace sprout {
|
||||||
// partial_sort
|
// partial_sort
|
||||||
//
|
//
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type partial_sort(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type partial_sort(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator middle,
|
typename sprout::container_traits<Container>::const_iterator middle,
|
||||||
Compare comp
|
Compare comp
|
||||||
|
@ -52,7 +52,7 @@ namespace sprout {
|
||||||
// partial_sort
|
// partial_sort
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type partial_sort(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type partial_sort(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator middle
|
typename sprout::container_traits<Container>::const_iterator middle
|
||||||
)
|
)
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
// partition
|
// partition
|
||||||
//
|
//
|
||||||
template<typename Container, typename Predicate>
|
template<typename Container, typename Predicate>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type partition(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type partition(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Predicate pred
|
Predicate pred
|
||||||
)
|
)
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator, typename Result, typename Predicate, typename... Args>
|
template<typename InputIterator, typename Result, typename Predicate, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type partition_copy_impl(
|
>::type partition_copy_impl(
|
||||||
|
@ -28,7 +28,7 @@ namespace sprout {
|
||||||
return sprout::remake<Result>(result, sprout::size(result), args...);
|
return sprout::remake<Result>(result, sprout::size(result), args...);
|
||||||
}
|
}
|
||||||
template<typename InputIterator, typename Result, typename Predicate, typename... Args>
|
template<typename InputIterator, typename Result, typename Predicate, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type partition_copy_impl(
|
>::type partition_copy_impl(
|
||||||
|
@ -52,7 +52,7 @@ namespace sprout {
|
||||||
// partition_copy
|
// partition_copy
|
||||||
//
|
//
|
||||||
template<typename InputIterator, typename Result, typename Predicate>
|
template<typename InputIterator, 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(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type pop_heap_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type pop_heap_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp,
|
Compare comp,
|
||||||
typename sprout::container_traits<Container>::difference_type offset,
|
typename sprout::container_traits<Container>::difference_type offset,
|
||||||
|
@ -63,7 +63,7 @@ namespace sprout {
|
||||||
// pop_heap
|
// pop_heap
|
||||||
//
|
//
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type pop_heap(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type pop_heap(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp
|
Compare comp
|
||||||
)
|
)
|
||||||
|
@ -79,7 +79,7 @@ namespace sprout {
|
||||||
// pop_heap
|
// pop_heap
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type pop_heap(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type pop_heap(
|
||||||
Container const& cont
|
Container const& cont
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type push_heap_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type push_heap_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp,
|
Compare comp,
|
||||||
typename sprout::container_traits<Container>::difference_type offset,
|
typename sprout::container_traits<Container>::difference_type offset,
|
||||||
|
@ -39,7 +39,7 @@ namespace sprout {
|
||||||
// push_heap
|
// push_heap
|
||||||
//
|
//
|
||||||
template<typename Container, typename Compare>
|
template<typename Container, typename Compare>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type push_heap(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type push_heap(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Compare comp
|
Compare comp
|
||||||
)
|
)
|
||||||
|
@ -55,7 +55,7 @@ namespace sprout {
|
||||||
// push_heap
|
// push_heap
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type push_heap(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type push_heap(
|
||||||
Container const& cont
|
Container const& cont
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
// remove
|
// remove
|
||||||
//
|
//
|
||||||
template<typename Container, typename T>
|
template<typename Container, typename T>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type remove(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type remove(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
T const& value
|
T const& value
|
||||||
)
|
)
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator, typename Result, typename T, typename... Args>
|
template<typename InputIterator, typename Result, typename T, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type remove_copy_impl(
|
>::type remove_copy_impl(
|
||||||
|
@ -28,7 +28,7 @@ namespace sprout {
|
||||||
return sprout::remake<Result>(result, sprout::size(result), args...);
|
return sprout::remake<Result>(result, sprout::size(result), args...);
|
||||||
}
|
}
|
||||||
template<typename InputIterator, typename Result, typename T, typename... Args>
|
template<typename InputIterator, typename Result, typename T, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type remove_copy_impl(
|
>::type remove_copy_impl(
|
||||||
|
@ -52,7 +52,7 @@ namespace sprout {
|
||||||
// remove_copy
|
// remove_copy
|
||||||
//
|
//
|
||||||
template<typename InputIterator, typename Result, typename T>
|
template<typename InputIterator, 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(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator, typename Result, typename Predicate, typename... Args>
|
template<typename InputIterator, typename Result, typename Predicate, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type remove_copy_if_impl(
|
>::type remove_copy_if_impl(
|
||||||
|
@ -28,7 +28,7 @@ namespace sprout {
|
||||||
return sprout::remake<Result>(result, sprout::size(result), args...);
|
return sprout::remake<Result>(result, sprout::size(result), args...);
|
||||||
}
|
}
|
||||||
template<typename InputIterator, typename Result, typename Predicate, typename... Args>
|
template<typename InputIterator, typename Result, typename Predicate, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type remove_copy_if_impl(
|
>::type remove_copy_if_impl(
|
||||||
|
@ -52,7 +52,7 @@ namespace sprout {
|
||||||
// remove_copy_if
|
// remove_copy_if
|
||||||
//
|
//
|
||||||
template<typename InputIterator, typename Result, typename Predicate>
|
template<typename InputIterator, 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(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
// remove_if
|
// remove_if
|
||||||
//
|
//
|
||||||
template<typename Container, typename Predicate>
|
template<typename Container, typename Predicate>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type remove_if(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type remove_if(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Predicate pred
|
Predicate pred
|
||||||
)
|
)
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
// replace
|
// replace
|
||||||
//
|
//
|
||||||
template<typename Container, typename T>
|
template<typename Container, typename T>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type replace(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type replace(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
T const& old_value,
|
T const& old_value,
|
||||||
T const& new_value
|
T const& new_value
|
||||||
|
|
|
@ -17,7 +17,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename RandomAccessIterator, typename Result, typename T, sprout::index_t... Indexes>
|
template<typename RandomAccessIterator, typename Result, typename T, sprout::index_t... Indexes>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type replace_copy_impl_ra(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type replace_copy_impl_ra(
|
||||||
RandomAccessIterator first,
|
RandomAccessIterator first,
|
||||||
RandomAccessIterator last,
|
RandomAccessIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -39,7 +39,7 @@ namespace sprout {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
template<typename RandomAccessIterator, typename Result, typename T>
|
template<typename RandomAccessIterator, 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(
|
||||||
RandomAccessIterator first,
|
RandomAccessIterator first,
|
||||||
RandomAccessIterator last,
|
RandomAccessIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -61,7 +61,7 @@ namespace sprout {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
template<typename InputIterator, typename Result, typename T, typename... Args>
|
template<typename InputIterator, typename Result, typename T, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type replace_copy_impl(
|
>::type replace_copy_impl(
|
||||||
|
@ -77,7 +77,7 @@ namespace sprout {
|
||||||
return sprout::remake<Result>(result, sprout::size(result), args...);
|
return sprout::remake<Result>(result, sprout::size(result), args...);
|
||||||
}
|
}
|
||||||
template<typename InputIterator, typename Result, typename T, typename... Args>
|
template<typename InputIterator, typename Result, typename T, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type replace_copy_impl(
|
>::type replace_copy_impl(
|
||||||
|
@ -96,7 +96,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
template<typename InputIterator, typename Result, typename T>
|
template<typename InputIterator, 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(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -112,7 +112,7 @@ namespace sprout {
|
||||||
// replace_copy
|
// replace_copy
|
||||||
//
|
//
|
||||||
template<typename InputIterator, typename Result, typename T>
|
template<typename InputIterator, 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(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
|
|
@ -16,7 +16,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename RandomAccessIterator, typename Result, typename T, typename Predicate, sprout::index_t... Indexes>
|
template<typename RandomAccessIterator, typename Result, typename T, typename Predicate, sprout::index_t... Indexes>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type replace_copy_if_impl_ra(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type replace_copy_if_impl_ra(
|
||||||
RandomAccessIterator first,
|
RandomAccessIterator first,
|
||||||
RandomAccessIterator last,
|
RandomAccessIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -38,7 +38,7 @@ namespace sprout {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
template<typename RandomAccessIterator, typename Result, typename T, typename Predicate>
|
template<typename RandomAccessIterator, 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(
|
||||||
RandomAccessIterator first,
|
RandomAccessIterator first,
|
||||||
RandomAccessIterator last,
|
RandomAccessIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -60,7 +60,7 @@ namespace sprout {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
template<typename InputIterator, typename Result, typename T, typename Predicate, typename... Args>
|
template<typename InputIterator, typename Result, typename T, typename Predicate, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type replace_copy_if_impl(
|
>::type replace_copy_if_impl(
|
||||||
|
@ -76,7 +76,7 @@ namespace sprout {
|
||||||
return sprout::remake<Result>(result, sprout::size(result), args...);
|
return sprout::remake<Result>(result, sprout::size(result), args...);
|
||||||
}
|
}
|
||||||
template<typename InputIterator, typename Result, typename T, typename Predicate, typename... Args>
|
template<typename InputIterator, typename Result, typename T, typename Predicate, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type replace_copy_if_impl(
|
>::type replace_copy_if_impl(
|
||||||
|
@ -95,7 +95,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
template<typename InputIterator, typename Result, typename T, typename Predicate>
|
template<typename InputIterator, 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(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -111,7 +111,7 @@ namespace sprout {
|
||||||
// replace_copy_if
|
// replace_copy_if
|
||||||
//
|
//
|
||||||
template<typename InputIterator, typename Result, typename T, typename Predicate>
|
template<typename InputIterator, 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(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last,
|
InputIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
// replace_if
|
// replace_if
|
||||||
//
|
//
|
||||||
template<typename Container, typename T, typename Predicate>
|
template<typename Container, typename T, typename Predicate>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type replace_if(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type replace_if(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Predicate pred,
|
Predicate pred,
|
||||||
T const& new_value
|
T const& new_value
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
// reverse
|
// reverse
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type reverse(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type reverse(
|
||||||
Container const& cont
|
Container const& cont
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,7 +16,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename RandomAccessIterator, typename Result, sprout::index_t... Indexes>
|
template<typename RandomAccessIterator, typename Result, sprout::index_t... Indexes>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type reverse_copy_impl_ra(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type reverse_copy_impl_ra(
|
||||||
RandomAccessIterator first,
|
RandomAccessIterator first,
|
||||||
RandomAccessIterator last,
|
RandomAccessIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -36,7 +36,7 @@ namespace sprout {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
template<typename RandomAccessIterator, typename Result>
|
template<typename RandomAccessIterator, 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(
|
||||||
RandomAccessIterator first,
|
RandomAccessIterator first,
|
||||||
RandomAccessIterator last,
|
RandomAccessIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -54,7 +54,7 @@ namespace sprout {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
template<typename BidirectionalIterator, typename Result, typename... Args>
|
template<typename BidirectionalIterator, typename Result, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type reverse_copy_impl(
|
>::type reverse_copy_impl(
|
||||||
|
@ -68,7 +68,7 @@ namespace sprout {
|
||||||
return sprout::remake<Result>(result, sprout::size(result), args...);
|
return sprout::remake<Result>(result, sprout::size(result), args...);
|
||||||
}
|
}
|
||||||
template<typename BidirectionalIterator, typename Result, typename... Args>
|
template<typename BidirectionalIterator, typename Result, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type reverse_copy_impl(
|
>::type reverse_copy_impl(
|
||||||
|
@ -85,7 +85,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
template<typename BidirectionalIterator, typename Result>
|
template<typename BidirectionalIterator, 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(
|
||||||
BidirectionalIterator first,
|
BidirectionalIterator first,
|
||||||
BidirectionalIterator last,
|
BidirectionalIterator last,
|
||||||
Result const& result,
|
Result const& result,
|
||||||
|
@ -99,7 +99,7 @@ namespace sprout {
|
||||||
// reverse_copy
|
// reverse_copy
|
||||||
//
|
//
|
||||||
template<typename BidirectionalIterator, typename Result>
|
template<typename BidirectionalIterator, 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(
|
||||||
BidirectionalIterator first,
|
BidirectionalIterator first,
|
||||||
BidirectionalIterator last,
|
BidirectionalIterator last,
|
||||||
Result const& result
|
Result const& result
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
// rotate
|
// rotate
|
||||||
//
|
//
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type rotate(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type rotate(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
typename sprout::container_traits<Container>::const_iterator middle
|
typename sprout::container_traits<Container>::const_iterator middle
|
||||||
)
|
)
|
||||||
|
|
|
@ -16,7 +16,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename RandomAccessIterator, typename Result, sprout::index_t... Indexes>
|
template<typename RandomAccessIterator, typename Result, sprout::index_t... Indexes>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type rotate_copy_impl_ra(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type rotate_copy_impl_ra(
|
||||||
RandomAccessIterator first,
|
RandomAccessIterator first,
|
||||||
RandomAccessIterator middle,
|
RandomAccessIterator middle,
|
||||||
RandomAccessIterator last,
|
RandomAccessIterator last,
|
||||||
|
@ -40,7 +40,7 @@ namespace sprout {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
template<typename RandomAccessIterator, typename Result>
|
template<typename RandomAccessIterator, 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(
|
||||||
RandomAccessIterator first,
|
RandomAccessIterator first,
|
||||||
RandomAccessIterator middle,
|
RandomAccessIterator middle,
|
||||||
RandomAccessIterator last,
|
RandomAccessIterator last,
|
||||||
|
@ -60,7 +60,7 @@ namespace sprout {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
template<typename ForwardIterator, typename Result, typename... Args>
|
template<typename ForwardIterator, typename Result, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type rotate_copy_impl_1(
|
>::type rotate_copy_impl_1(
|
||||||
|
@ -74,7 +74,7 @@ namespace sprout {
|
||||||
return sprout::remake<Result>(result, sprout::size(result), args...);
|
return sprout::remake<Result>(result, sprout::size(result), args...);
|
||||||
}
|
}
|
||||||
template<typename ForwardIterator, typename Result, typename... Args>
|
template<typename ForwardIterator, typename Result, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type rotate_copy_impl_1(
|
>::type rotate_copy_impl_1(
|
||||||
|
@ -91,7 +91,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
template<typename ForwardIterator, typename Result, typename... Args>
|
template<typename ForwardIterator, typename Result, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type rotate_copy_impl(
|
>::type rotate_copy_impl(
|
||||||
|
@ -107,7 +107,7 @@ namespace sprout {
|
||||||
return sprout::remake<Result>(result, sprout::size(result), args...);
|
return sprout::remake<Result>(result, sprout::size(result), args...);
|
||||||
}
|
}
|
||||||
template<typename ForwardIterator, typename Result, typename... Args>
|
template<typename ForwardIterator, typename Result, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type rotate_copy_impl(
|
>::type rotate_copy_impl(
|
||||||
|
@ -126,7 +126,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
template<typename ForwardIterator, typename Result>
|
template<typename ForwardIterator, 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(
|
||||||
ForwardIterator first,
|
ForwardIterator first,
|
||||||
ForwardIterator middle,
|
ForwardIterator middle,
|
||||||
ForwardIterator last,
|
ForwardIterator last,
|
||||||
|
@ -141,7 +141,7 @@ namespace sprout {
|
||||||
// rotate_copy
|
// rotate_copy
|
||||||
//
|
//
|
||||||
template<typename ForwardIterator, typename Result>
|
template<typename ForwardIterator, 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(
|
||||||
ForwardIterator first,
|
ForwardIterator first,
|
||||||
ForwardIterator middle,
|
ForwardIterator middle,
|
||||||
ForwardIterator last,
|
ForwardIterator last,
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
|
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type set_difference_impl(
|
>::type set_difference_impl(
|
||||||
|
@ -31,7 +31,7 @@ namespace sprout {
|
||||||
return sprout::remake<Result>(result, sprout::size(result), args...);
|
return sprout::remake<Result>(result, sprout::size(result), args...);
|
||||||
}
|
}
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
|
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type set_difference_impl(
|
>::type set_difference_impl(
|
||||||
|
@ -65,7 +65,7 @@ namespace sprout {
|
||||||
// set_difference
|
// set_difference
|
||||||
//
|
//
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
template<typename InputIterator1, typename InputIterator2, 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(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
@ -88,7 +88,7 @@ namespace sprout {
|
||||||
// set_difference
|
// set_difference
|
||||||
//
|
//
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result>
|
template<typename InputIterator1, typename InputIterator2, 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(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
|
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type set_intersection_impl(
|
>::type set_intersection_impl(
|
||||||
|
@ -31,7 +31,7 @@ namespace sprout {
|
||||||
return sprout::remake<Result>(result, sprout::size(result), args...);
|
return sprout::remake<Result>(result, sprout::size(result), args...);
|
||||||
}
|
}
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
|
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type set_intersection_impl(
|
>::type set_intersection_impl(
|
||||||
|
@ -65,7 +65,7 @@ namespace sprout {
|
||||||
// set_intersection
|
// set_intersection
|
||||||
//
|
//
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
template<typename InputIterator1, typename InputIterator2, 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(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
@ -88,7 +88,7 @@ namespace sprout {
|
||||||
// set_intersection
|
// set_intersection
|
||||||
//
|
//
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result>
|
template<typename InputIterator1, typename InputIterator2, 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(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
|
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type set_symmetric_difference_impl(
|
>::type set_symmetric_difference_impl(
|
||||||
|
@ -31,7 +31,7 @@ namespace sprout {
|
||||||
return sprout::remake<Result>(result, sprout::size(result), args...);
|
return sprout::remake<Result>(result, sprout::size(result), args...);
|
||||||
}
|
}
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
|
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type set_symmetric_difference_impl(
|
>::type set_symmetric_difference_impl(
|
||||||
|
@ -65,7 +65,7 @@ namespace sprout {
|
||||||
// set_symmetric_difference
|
// set_symmetric_difference
|
||||||
//
|
//
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
template<typename InputIterator1, typename InputIterator2, 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(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
@ -88,7 +88,7 @@ namespace sprout {
|
||||||
// set_symmetric_difference
|
// set_symmetric_difference
|
||||||
//
|
//
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result>
|
template<typename InputIterator1, typename InputIterator2, 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(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
|
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type set_union_impl(
|
>::type set_union_impl(
|
||||||
|
@ -31,7 +31,7 @@ namespace sprout {
|
||||||
return sprout::remake<Result>(result, sprout::size(result), args...);
|
return sprout::remake<Result>(result, sprout::size(result), args...);
|
||||||
}
|
}
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
|
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
|
||||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||||
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
||||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||||
>::type set_union_impl(
|
>::type set_union_impl(
|
||||||
|
@ -65,7 +65,7 @@ namespace sprout {
|
||||||
// set_union
|
// set_union
|
||||||
//
|
//
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
|
template<typename InputIterator1, typename InputIterator2, 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(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
@ -88,7 +88,7 @@ namespace sprout {
|
||||||
// set_union
|
// set_union
|
||||||
//
|
//
|
||||||
template<typename InputIterator1, typename InputIterator2, typename Result>
|
template<typename InputIterator1, typename InputIterator2, 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(
|
||||||
InputIterator1 first1,
|
InputIterator1 first1,
|
||||||
InputIterator1 last1,
|
InputIterator1 last1,
|
||||||
InputIterator2 first2,
|
InputIterator2 first2,
|
||||||
|
|
|
@ -20,7 +20,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<std::size_t N, typename Random>
|
template<std::size_t N, typename Random>
|
||||||
SPROUT_CONSTEXPR inline sprout::array<std::ptrdiff_t, N> make_shuffle_indexes_1(
|
inline SPROUT_CONSTEXPR sprout::array<std::ptrdiff_t, N> make_shuffle_indexes_1(
|
||||||
std::ptrdiff_t n,
|
std::ptrdiff_t n,
|
||||||
Random const& rnd,
|
Random const& rnd,
|
||||||
sprout::array<std::ptrdiff_t, N> const& arr,
|
sprout::array<std::ptrdiff_t, N> const& arr,
|
||||||
|
@ -38,7 +38,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
template<std::size_t N, typename UniformRandomNumberGenerator>
|
template<std::size_t N, typename UniformRandomNumberGenerator>
|
||||||
SPROUT_CONSTEXPR inline sprout::array<std::ptrdiff_t, N> make_shuffle_indexes(
|
inline SPROUT_CONSTEXPR sprout::array<std::ptrdiff_t, N> make_shuffle_indexes(
|
||||||
std::ptrdiff_t n,
|
std::ptrdiff_t n,
|
||||||
UniformRandomNumberGenerator&& g
|
UniformRandomNumberGenerator&& g
|
||||||
)
|
)
|
||||||
|
@ -54,7 +54,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
template<typename Container, typename Shuffled, sprout::index_t... Indexes>
|
template<typename Container, typename Shuffled, sprout::index_t... Indexes>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type shuffle_impl_1(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type shuffle_impl_1(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
sprout::index_tuple<Indexes...>,
|
sprout::index_tuple<Indexes...>,
|
||||||
Shuffled const& shuffled,
|
Shuffled const& shuffled,
|
||||||
|
@ -72,7 +72,7 @@ namespace sprout {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
template<typename Container, typename UniformRandomNumberGenerator, sprout::index_t... Indexes>
|
template<typename Container, typename UniformRandomNumberGenerator, sprout::index_t... Indexes>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type shuffle_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type shuffle_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
sprout::index_tuple<Indexes...> indexes,
|
sprout::index_tuple<Indexes...> indexes,
|
||||||
UniformRandomNumberGenerator&& g,
|
UniformRandomNumberGenerator&& g,
|
||||||
|
@ -96,7 +96,7 @@ namespace sprout {
|
||||||
// shuffle
|
// shuffle
|
||||||
//
|
//
|
||||||
template<typename Container, typename UniformRandomNumberGenerator>
|
template<typename Container, typename UniformRandomNumberGenerator>
|
||||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type shuffle(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type shuffle(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
UniformRandomNumberGenerator&& g
|
UniformRandomNumberGenerator&& g
|
||||||
)
|
)
|
||||||
|
|
|
@ -21,7 +21,7 @@ namespace sprout {
|
||||||
namespace fixed {
|
namespace fixed {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
template<typename UniformRandomNumberGenerator, std::size_t N, typename Random>
|
template<typename UniformRandomNumberGenerator, std::size_t N, typename Random>
|
||||||
SPROUT_CONSTEXPR inline sprout::tuples::tuple<
|
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
|
||||||
sprout::array<std::ptrdiff_t, N>,
|
sprout::array<std::ptrdiff_t, N>,
|
||||||
typename std::decay<UniformRandomNumberGenerator>::type
|
typename std::decay<UniformRandomNumberGenerator>::type
|
||||||
> make_shuffle_result_indexes_1(
|
> make_shuffle_result_indexes_1(
|
||||||
|
@ -49,7 +49,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
template<std::size_t N, typename UniformRandomNumberGenerator>
|
template<std::size_t N, typename UniformRandomNumberGenerator>
|
||||||
SPROUT_CONSTEXPR inline sprout::tuples::tuple<
|
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
|
||||||
sprout::array<std::ptrdiff_t, N>,
|
sprout::array<std::ptrdiff_t, N>,
|
||||||
typename std::decay<UniformRandomNumberGenerator>::type
|
typename std::decay<UniformRandomNumberGenerator>::type
|
||||||
> make_shuffle_result_indexes(
|
> make_shuffle_result_indexes(
|
||||||
|
@ -75,7 +75,7 @@ namespace sprout {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
template<typename UniformRandomNumberGenerator, typename Container, typename Shuffled, sprout::index_t... Indexes>
|
template<typename UniformRandomNumberGenerator, typename Container, typename Shuffled, sprout::index_t... Indexes>
|
||||||
SPROUT_CONSTEXPR inline sprout::tuples::tuple<
|
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
|
||||||
typename sprout::fixed::result_of::algorithm<Container>::type,
|
typename sprout::fixed::result_of::algorithm<Container>::type,
|
||||||
typename std::decay<UniformRandomNumberGenerator>::type
|
typename std::decay<UniformRandomNumberGenerator>::type
|
||||||
> shuffle_result_impl_1(
|
> shuffle_result_impl_1(
|
||||||
|
@ -103,7 +103,7 @@ namespace sprout {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
template<typename Container, typename UniformRandomNumberGenerator, sprout::index_t... Indexes>
|
template<typename Container, typename UniformRandomNumberGenerator, sprout::index_t... Indexes>
|
||||||
SPROUT_CONSTEXPR inline sprout::tuples::tuple<
|
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
|
||||||
typename sprout::fixed::result_of::algorithm<Container>::type,
|
typename sprout::fixed::result_of::algorithm<Container>::type,
|
||||||
typename std::decay<UniformRandomNumberGenerator>::type
|
typename std::decay<UniformRandomNumberGenerator>::type
|
||||||
> shuffle_result_impl(
|
> shuffle_result_impl(
|
||||||
|
@ -130,7 +130,7 @@ namespace sprout {
|
||||||
// shuffle_result
|
// shuffle_result
|
||||||
//
|
//
|
||||||
template<typename Container, typename UniformRandomNumberGenerator>
|
template<typename Container, typename UniformRandomNumberGenerator>
|
||||||
SPROUT_CONSTEXPR inline sprout::tuples::tuple<
|
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
|
||||||
typename sprout::fixed::result_of::algorithm<Container>::type,
|
typename sprout::fixed::result_of::algorithm<Container>::type,
|
||||||
typename std::decay<UniformRandomNumberGenerator>::type
|
typename std::decay<UniformRandomNumberGenerator>::type
|
||||||
> shuffle_result(
|
> shuffle_result(
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue