modify namespace result_of -> results

support C++14 type_traits
This commit is contained in:
bolero-MURAKAMI 2013-11-20 22:04:11 +09:00
parent d386893a74
commit bf0c7021cf
350 changed files with 2628 additions and 1912 deletions

View file

@ -168,8 +168,8 @@ namespace testspr {
TESTSPR_BOTH_ASSERT((std::is_same<sprout::tuples::tuple_element<1, decltype(arr1)>::type, int const>::value));
// is_array
TESTSPR_BOTH_ASSERT(sprout::is_array<decltype(arr1)>::value);
TESTSPR_BOTH_ASSERT(!sprout::is_array<int>::value);
TESTSPR_BOTH_ASSERT(sprout::is_array_class<decltype(arr1)>::value);
TESTSPR_BOTH_ASSERT(!sprout::is_array_class<int>::value);
// sprout::to_hash, sprout::hash
TESTSPR_BOTH_ASSERT(sprout::to_hash(arr1) == sprout::hash<decltype(arr1)>()(arr1));

View file

@ -207,7 +207,7 @@ namespace testspr {
// tuple_cat
{
typedef sprout::tuples::result_of::tuple_cat<decltype(tup1), decltype(tup2)>::type concatenated_type;
typedef sprout::tuples::results::tuple_cat<decltype(tup1), decltype(tup2)>::type concatenated_type;
TESTSPR_BOTH_ASSERT(sprout::tuples::tuple_size<concatenated_type>::value == 4);
TESTSPR_BOTH_ASSERT((std::is_same<sprout::tuples::tuple_element<0, concatenated_type>::type, int>::value));
TESTSPR_BOTH_ASSERT((std::is_same<sprout::tuples::tuple_element<1, concatenated_type>::type, double>::value));

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/bogo_sort.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -20,7 +20,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
bogo_sort_impl(
Container const& cont, UniformRandomNumberGenerator&& g, Compare comp,
typename sprout::container_traits<Container>::difference_type offset
@ -37,7 +37,7 @@ namespace sprout {
// bogo_sort
//
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
bogo_sort(Container const& cont, UniformRandomNumberGenerator&& g, Compare comp) {
return sprout::fit::detail::bogo_sort_impl(
cont, sprout::forward<UniformRandomNumberGenerator>(g), comp,
@ -47,7 +47,7 @@ namespace sprout {
namespace detail {
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
bogo_sort_impl(
Container const& cont, UniformRandomNumberGenerator&& g,
typename sprout::container_traits<Container>::difference_type offset
@ -64,7 +64,7 @@ namespace sprout {
// bogo_sort
//
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
bogo_sort(Container const& cont, UniformRandomNumberGenerator&& g) {
return sprout::fit::detail::bogo_sort_impl(
cont, sprout::forward<UniformRandomNumberGenerator>(g),

View file

@ -15,7 +15,7 @@
#include <sprout/container/functions.hpp>
#include <sprout/utility/forward.hpp>
#include <sprout/algorithm/fixed/bogo_sort_result.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -24,7 +24,7 @@ namespace sprout {
namespace detail {
template<typename Container, typename UniformRandomNumberGenerator, typename Sorted>
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type,
typename sprout::fit::results::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type
>
bogo_sort_result_impl_1(
@ -33,7 +33,7 @@ namespace sprout {
)
{
typedef sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type,
typename sprout::fit::results::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type
> result_type;
return result_type(
@ -47,7 +47,7 @@ namespace sprout {
}
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type,
typename sprout::fit::results::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type
>
bogo_sort_result_impl(
@ -66,7 +66,7 @@ namespace sprout {
//
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type,
typename sprout::fit::results::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type
> bogo_sort_result(Container const& cont, UniformRandomNumberGenerator&& g, Compare comp) {
return sprout::fit::detail::bogo_sort_result_impl(
@ -78,7 +78,7 @@ namespace sprout {
namespace detail {
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type,
typename sprout::fit::results::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type
>
bogo_sort_result_impl(
@ -97,7 +97,7 @@ namespace sprout {
//
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type,
typename sprout::fit::results::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type
>
bogo_sort_result(Container const& cont, UniformRandomNumberGenerator&& g) {

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/bozo_sort.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -20,7 +20,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
bozo_sort_impl(
Container const& cont, UniformRandomNumberGenerator&& g, Compare comp,
typename sprout::container_traits<Container>::difference_type offset
@ -37,7 +37,7 @@ namespace sprout {
// bozo_sort
//
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
bozo_sort(Container const& cont, UniformRandomNumberGenerator&& g, Compare comp) {
return sprout::fit::detail::bozo_sort_impl(
cont, sprout::forward<UniformRandomNumberGenerator>(g), comp,
@ -47,7 +47,7 @@ namespace sprout {
namespace detail {
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
bozo_sort_impl(
Container const& cont, UniformRandomNumberGenerator&& g,
typename sprout::container_traits<Container>::difference_type offset
@ -64,7 +64,7 @@ namespace sprout {
// bozo_sort
//
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
bozo_sort(Container const& cont, UniformRandomNumberGenerator&& g) {
return sprout::fit::detail::bozo_sort_impl(
cont, sprout::forward<UniformRandomNumberGenerator>(g),

View file

@ -15,7 +15,7 @@
#include <sprout/container/functions.hpp>
#include <sprout/utility/forward.hpp>
#include <sprout/algorithm/fixed/bozo_sort_result.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -24,7 +24,7 @@ namespace sprout {
namespace detail {
template<typename Container, typename UniformRandomNumberGenerator, typename Sorted>
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type,
typename sprout::fit::results::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type
>
bozo_sort_result_impl_1(
@ -33,7 +33,7 @@ namespace sprout {
)
{
typedef sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type,
typename sprout::fit::results::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type
> result_type;
return result_type(
@ -47,7 +47,7 @@ namespace sprout {
}
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type,
typename sprout::fit::results::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type
>
bozo_sort_result_impl(
@ -66,7 +66,7 @@ namespace sprout {
//
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type,
typename sprout::fit::results::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type
>
bozo_sort_result(Container const& cont, UniformRandomNumberGenerator&& g, Compare comp) {
@ -79,7 +79,7 @@ namespace sprout {
namespace detail {
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type,
typename sprout::fit::results::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type
>
bozo_sort_result_impl(
@ -98,7 +98,7 @@ namespace sprout {
//
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type,
typename sprout::fit::results::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type
>
bozo_sort_result(Container const& cont, UniformRandomNumberGenerator&& g) {

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/clamp_range.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -20,7 +20,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
clamp_range_impl(
Container const& cont,
typename sprout::container_traits<Container>::value_type const& low,
@ -40,7 +40,7 @@ namespace sprout {
// clamp_range
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
clamp_range(
Container const& cont,
typename sprout::container_traits<Container>::value_type const& low,
@ -53,7 +53,7 @@ namespace sprout {
namespace detail {
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
clamp_range_impl(
Container const& cont,
typename sprout::container_traits<Container>::value_type const& low,
@ -72,7 +72,7 @@ namespace sprout {
// clamp_range
//
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
clamp_range(
Container const& cont,
typename sprout::container_traits<Container>::value_type const& low,

View file

@ -13,7 +13,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/clamp_range_copy.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include <sprout/iterator/type_traits/category.hpp>
@ -22,7 +22,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename InputIterator, typename Result, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
clamp_range_copy_impl(
InputIterator first, InputIterator last, Result const& result,
typename std::iterator_traits<InputIterator>::value_type const& low,
@ -42,7 +42,7 @@ namespace sprout {
// clamp_range_copy
//
template<typename InputIterator, typename Result, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
clamp_range_copy(
InputIterator first, InputIterator last, Result const& result,
typename std::iterator_traits<InputIterator>::value_type const& low,
@ -56,7 +56,7 @@ namespace sprout {
namespace detail {
template<typename InputIterator, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
clamp_range_copy_impl(
InputIterator first, InputIterator last, Result const& result,
typename std::iterator_traits<InputIterator>::value_type const& low,
@ -75,7 +75,7 @@ namespace sprout {
// clamp_range_copy
//
template<typename InputIterator, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
clamp_range_copy(
InputIterator first, InputIterator last, Result const& result,
typename std::iterator_traits<InputIterator>::value_type const& low,

View file

@ -13,7 +13,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/copy.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include <sprout/iterator/type_traits/category.hpp>
@ -22,7 +22,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename InputIterator, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
copy_impl(
InputIterator first, InputIterator last, Result const& result,
typename sprout::container_traits<Result>::difference_type offset
@ -39,7 +39,7 @@ namespace sprout {
// copy
//
template<typename InputIterator, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
copy(InputIterator first, InputIterator last, Result const& result) {
static_assert(sprout::is_forward_iterator<InputIterator>::value, "Sorry, not implemented.");
return sprout::fit::detail::copy_impl(first, last, result, sprout::internal_begin_offset(result));

View file

@ -13,7 +13,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/copy_backward.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -21,7 +21,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename BidirectionalIterator, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
copy_backward_impl(
BidirectionalIterator first, BidirectionalIterator last, Result const& result,
typename sprout::container_traits<Result>::difference_type offset
@ -38,7 +38,7 @@ namespace sprout {
// copy_backward
//
template<typename BidirectionalIterator, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
copy_backward(BidirectionalIterator first, BidirectionalIterator last, Result const& result) {
return sprout::fit::detail::copy_backward_impl(first, last, result, sprout::internal_end_offset(result));
}

View file

@ -13,7 +13,7 @@
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/count_if.hpp>
#include <sprout/algorithm/fixed/copy_if.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include <sprout/iterator/type_traits/category.hpp>
@ -22,7 +22,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename InputIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
copy_if_impl(
InputIterator first, InputIterator last, Result const& result, Predicate pred,
typename sprout::container_traits<Result>::difference_type offset
@ -39,7 +39,7 @@ namespace sprout {
// copy_if
//
template<typename InputIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
copy_if(InputIterator first, InputIterator last, Result const& result, Predicate pred) {
static_assert(sprout::is_forward_iterator<InputIterator>::value, "Sorry, not implemented.");
return sprout::fit::detail::copy_if_impl(first, last, result, pred, sprout::internal_begin_offset(result));

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/copy_n.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -20,7 +20,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename InputIterator, typename Size, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
copy_n_impl(
InputIterator first, Size n, Result const& result,
typename sprout::container_traits<Result>::difference_type offset
@ -37,7 +37,7 @@ namespace sprout {
// copy_n
//
template<typename InputIterator, typename Size, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
copy_n(InputIterator first, Size n, Result const& result) {
return sprout::fit::detail::copy_n_impl(first, n, result, sprout::internal_begin_offset(result));
}

View file

@ -14,7 +14,7 @@
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/find_if.hpp>
#include <sprout/algorithm/fixed/copy_while.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include <sprout/iterator/type_traits/category.hpp>
@ -23,7 +23,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename InputIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
copy_until_impl(
InputIterator first, InputIterator last, Result const& result, Predicate pred,
typename sprout::container_traits<Result>::difference_type offset
@ -40,7 +40,7 @@ namespace sprout {
// copy_until
//
template<typename InputIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
copy_until(InputIterator first, InputIterator last, Result const& result, Predicate pred) {
static_assert(sprout::is_forward_iterator<InputIterator>::value, "Sorry, not implemented.");
return sprout::fit::detail::copy_until_impl(first, last, result, pred, sprout::internal_begin_offset(result));

View file

@ -14,7 +14,7 @@
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/find_if_not.hpp>
#include <sprout/algorithm/fixed/copy_while.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include <sprout/iterator/type_traits/category.hpp>
@ -23,7 +23,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename InputIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
copy_while_impl(
InputIterator first, InputIterator last, Result const& result, Predicate pred,
typename sprout::container_traits<Result>::difference_type offset
@ -40,7 +40,7 @@ namespace sprout {
// copy_while
//
template<typename InputIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
copy_while(InputIterator first, InputIterator last, Result const& result, Predicate pred) {
static_assert(sprout::is_forward_iterator<InputIterator>::value, "Sorry, not implemented.");
return sprout::fit::detail::copy_while_impl(first, last, result, pred, sprout::internal_begin_offset(result));

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/fill.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -20,7 +20,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename T>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
fill_impl(
Container const& cont, T const& value,
typename sprout::container_traits<Container>::difference_type offset
@ -37,7 +37,7 @@ namespace sprout {
// fill
//
template<typename Container, typename T>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
fill(Container const& cont, T const& value) {
return sprout::fit::detail::fill_impl(cont, value, sprout::internal_begin_offset(cont));
}

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/fill_n.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
@ -21,7 +21,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Size, typename T>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
fill_n_impl(
Container const& cont, Size n, T const& value,
typename sprout::container_traits<Container>::difference_type offset
@ -38,7 +38,7 @@ namespace sprout {
// fill_n
//
template<typename Container, typename Size, typename T>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
fill_n(Container const& cont, Size n, T const& value) {
return sprout::fit::detail::fill_n_impl(cont, n, value, sprout::internal_begin_offset(cont));
}

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/generate.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -20,7 +20,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Generator>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
generate_impl(
Container const& cont, Generator const& gen,
typename sprout::container_traits<Container>::difference_type offset
@ -37,7 +37,7 @@ namespace sprout {
// generate
//
template<typename Container, typename Generator>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
generate(Container const& cont, Generator const& gen) {
return sprout::fit::detail::generate_impl(cont, gen, sprout::internal_begin_offset(cont));
}

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/generate_n.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
@ -21,7 +21,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Size, typename Generator>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
generate_n_impl(
Container const& cont, Size n, Generator const& gen,
typename sprout::container_traits<Container>::difference_type offset
@ -38,7 +38,7 @@ namespace sprout {
// generate_n
//
template<typename Container, typename Size, typename Generator>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
generate_n(Container const& cont, Size n, Generator const& gen) {
return sprout::fit::detail::generate_n_impl(cont, n, gen, sprout::internal_begin_offset(cont));
}

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/inplace_merge.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -20,7 +20,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
inplace_merge_impl(
Container const& cont, typename sprout::container_traits<Container>::const_iterator middle, Compare comp,
typename sprout::container_traits<Container>::difference_type offset
@ -37,14 +37,14 @@ namespace sprout {
// inplace_merge
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
inplace_merge(Container const& cont, typename sprout::container_traits<Container>::const_iterator middle, Compare comp) {
return sprout::fit::detail::inplace_merge_impl(cont, middle, comp, sprout::internal_begin_offset(cont));
}
namespace detail {
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
inplace_merge_impl(
Container const& cont, typename sprout::container_traits<Container>::const_iterator middle,
typename sprout::container_traits<Container>::difference_type offset
@ -61,7 +61,7 @@ namespace sprout {
// inplace_merge
//
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
inplace_merge(Container const& cont, typename sprout::container_traits<Container>::const_iterator middle) {
return sprout::fit::detail::inplace_merge_impl(cont, middle, sprout::internal_begin_offset(cont));
}

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/make_heap.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -20,7 +20,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
make_heap_impl(
Container const& cont, Compare comp,
typename sprout::container_traits<Container>::difference_type offset
@ -37,14 +37,14 @@ namespace sprout {
// make_heap
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
make_heap(Container const& cont, Compare comp) {
return sprout::fit::detail::make_heap_impl(cont, comp, sprout::internal_begin_offset(cont));
}
namespace detail {
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
make_heap_impl(
Container const& cont,
typename sprout::container_traits<Container>::difference_type offset
@ -61,7 +61,7 @@ namespace sprout {
// make_heap
//
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
make_heap(Container const& cont) {
return sprout::fit::detail::make_heap_impl(cont, sprout::internal_begin_offset(cont));
}

View file

@ -13,7 +13,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/make_partial_heap.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -21,7 +21,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
make_partial_heap_impl(
Container const& cont, typename sprout::container_traits<Container>::const_iterator middle, Compare comp,
typename sprout::container_traits<Container>::difference_type offset
@ -38,14 +38,14 @@ namespace sprout {
// make_partial_heap
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
make_partial_heap(Container const& cont, typename sprout::container_traits<Container>::const_iterator middle, Compare comp) {
return sprout::fit::detail::make_partial_heap_impl(cont, middle, comp, sprout::internal_begin_offset(cont));
}
namespace detail {
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
make_partial_heap_impl(
Container const& cont, typename sprout::container_traits<Container>::const_iterator middle,
typename sprout::container_traits<Container>::difference_type offset
@ -62,7 +62,7 @@ namespace sprout {
// make_partial_heap
//
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
make_partial_heap(Container const& cont, typename sprout::container_traits<Container>::const_iterator middle) {
return sprout::fit::detail::make_partial_heap_impl(cont, middle, sprout::internal_begin_offset(cont));
}

View file

@ -13,7 +13,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/merge.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include <sprout/iterator/type_traits/category.hpp>
@ -22,7 +22,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
merge_impl(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
@ -41,7 +41,7 @@ namespace sprout {
// merge
//
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
merge(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
@ -57,7 +57,7 @@ namespace sprout {
namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
merge_impl(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
@ -76,7 +76,7 @@ namespace sprout {
// merge
//
template<typename InputIterator1, typename InputIterator2, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
merge(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/next_permutation.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include <sprout/utility/pair/pair.hpp>
@ -21,14 +21,14 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Permutation>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fit::result_of::algorithm<Container>::type, bool>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fit::results::algorithm<Container>::type, bool>
next_permutation_impl_1(
Container const& cont,
Permutation const& perm,
typename sprout::container_traits<Container>::difference_type offset
)
{
return sprout::pair<typename sprout::fit::result_of::algorithm<Container>::type, bool>(
return sprout::pair<typename sprout::fit::results::algorithm<Container>::type, bool>(
sprout::sub_copy(
sprout::get_internal(perm.first),
offset,
@ -39,7 +39,7 @@ namespace sprout {
}
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fit::result_of::algorithm<Container>::type, bool>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fit::results::algorithm<Container>::type, bool>
next_permutation_impl(
Container const& cont, Compare comp,
typename sprout::container_traits<Container>::difference_type offset
@ -52,14 +52,14 @@ namespace sprout {
// next_permutation
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fit::result_of::algorithm<Container>::type, bool>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fit::results::algorithm<Container>::type, bool>
next_permutation(Container const& cont, Compare comp) {
return sprout::fit::detail::next_permutation_impl(cont, comp, sprout::internal_begin_offset(cont));
}
namespace detail {
template<typename Container>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fit::result_of::algorithm<Container>::type, bool>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fit::results::algorithm<Container>::type, bool>
next_permutation_impl(
Container const& cont,
typename sprout::container_traits<Container>::difference_type offset
@ -72,7 +72,7 @@ namespace sprout {
// next_permutation
//
template<typename Container>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fit::result_of::algorithm<Container>::type, bool>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fit::results::algorithm<Container>::type, bool>
next_permutation(Container const& cont) {
return sprout::fit::detail::next_permutation_impl(cont, sprout::internal_begin_offset(cont));
}

View file

@ -13,7 +13,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/nth_element.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -21,7 +21,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
nth_element_impl(
Container const& cont, typename sprout::container_traits<Container>::const_iterator nth, Compare comp,
typename sprout::container_traits<Container>::difference_type offset
@ -38,14 +38,14 @@ namespace sprout {
// nth_element
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
nth_element(Container const& cont, typename sprout::container_traits<Container>::const_iterator nth, Compare comp) {
return sprout::fit::detail::nth_element_impl(cont, nth, comp, sprout::internal_begin_offset(cont));
}
namespace detail {
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
nth_element_impl(
Container const& cont, typename sprout::container_traits<Container>::const_iterator nth,
typename sprout::container_traits<Container>::difference_type offset
@ -62,7 +62,7 @@ namespace sprout {
// nth_element
//
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
nth_element(Container const& cont, typename sprout::container_traits<Container>::const_iterator nth) {
return sprout::fit::detail::nth_element_impl(cont, nth, sprout::internal_begin_offset(cont));
}

View file

@ -13,7 +13,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/partial_sort.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -21,7 +21,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
partial_sort_impl(
Container const& cont, typename sprout::container_traits<Container>::const_iterator middle, Compare comp,
typename sprout::container_traits<Container>::difference_type offset
@ -38,14 +38,14 @@ namespace sprout {
// partial_sort
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
partial_sort(Container const& cont, typename sprout::container_traits<Container>::const_iterator middle, Compare comp) {
return sprout::fit::detail::partial_sort_impl(cont, middle, comp, sprout::internal_begin_offset(cont));
}
namespace detail {
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
partial_sort_impl(
Container const& cont, typename sprout::container_traits<Container>::const_iterator middle,
typename sprout::container_traits<Container>::difference_type offset
@ -62,7 +62,7 @@ namespace sprout {
// partial_sort
//
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
partial_sort(Container const& cont, typename sprout::container_traits<Container>::const_iterator middle) {
return sprout::fit::detail::partial_sort_impl(cont, middle, sprout::internal_begin_offset(cont));
}

View file

@ -13,7 +13,7 @@
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/count_if.hpp>
#include <sprout/algorithm/fixed/partition.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -21,7 +21,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
partition_impl(
Container const& cont, Predicate pred,
typename sprout::container_traits<Container>::difference_type offset
@ -38,7 +38,7 @@ namespace sprout {
// partition
//
template<typename Container, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
partition(Container const& cont, Predicate pred) {
return sprout::fit::detail::partition_impl(cont, pred, sprout::internal_begin_offset(cont));
}

View file

@ -13,7 +13,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/partition_copy.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include <sprout/detail/algorithm/count_n_if.hpp>
@ -24,7 +24,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename InputIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
partition_copy_impl(
InputIterator first, InputIterator last, Result const& result, Predicate pred,
typename sprout::container_traits<Result>::difference_type offset
@ -43,7 +43,7 @@ namespace sprout {
// partition_copy
//
template<typename InputIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
partition_copy(InputIterator first, InputIterator last, Result const& result, Predicate pred) {
static_assert(sprout::is_forward_iterator<InputIterator>::value, "Sorry, not implemented.");
return sprout::fit::detail::partition_copy_impl(first, last, result, pred, sprout::internal_begin_offset(result));

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/pop_heap.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -20,7 +20,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
pop_heap_impl(
Container const& cont, Compare comp,
typename sprout::container_traits<Container>::difference_type offset
@ -37,14 +37,14 @@ namespace sprout {
// pop_heap
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
pop_heap(Container const& cont, Compare comp) {
return sprout::fit::detail::pop_heap_impl(cont, comp, sprout::internal_begin_offset(cont));
}
namespace detail {
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
pop_heap_impl(
Container const& cont,
typename sprout::container_traits<Container>::difference_type offset
@ -61,7 +61,7 @@ namespace sprout {
// pop_heap
//
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
pop_heap(Container const& cont) {
return sprout::fit::detail::pop_heap_impl(cont, sprout::internal_begin_offset(cont));
}

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/prev_permutation.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include <sprout/utility/pair/pair.hpp>
@ -21,13 +21,13 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Permutation>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fit::result_of::algorithm<Container>::type, bool>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fit::results::algorithm<Container>::type, bool>
prev_permutation_impl_1(
Container const& cont, Permutation const& perm,
typename sprout::container_traits<Container>::difference_type offset
)
{
return sprout::pair<typename sprout::fit::result_of::algorithm<Container>::type, bool>(
return sprout::pair<typename sprout::fit::results::algorithm<Container>::type, bool>(
sprout::sub_copy(
sprout::get_internal(perm.first),
offset,
@ -38,7 +38,7 @@ namespace sprout {
}
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fit::result_of::algorithm<Container>::type, bool>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fit::results::algorithm<Container>::type, bool>
prev_permutation_impl(
Container const& cont, Compare comp,
typename sprout::container_traits<Container>::difference_type offset
@ -51,14 +51,14 @@ namespace sprout {
// prev_permutation
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fit::result_of::algorithm<Container>::type, bool>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fit::results::algorithm<Container>::type, bool>
prev_permutation(Container const& cont, Compare comp) {
return sprout::fit::detail::prev_permutation_impl(cont, comp, sprout::internal_begin_offset(cont));
}
namespace detail {
template<typename Container>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fit::result_of::algorithm<Container>::type, bool>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fit::results::algorithm<Container>::type, bool>
prev_permutation_impl(
Container const& cont,
typename sprout::container_traits<Container>::difference_type offset
@ -71,7 +71,7 @@ namespace sprout {
// prev_permutation
//
template<typename Container>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fit::result_of::algorithm<Container>::type, bool>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fit::results::algorithm<Container>::type, bool>
prev_permutation(Container const& cont) {
return sprout::fit::detail::prev_permutation_impl(cont, sprout::internal_begin_offset(cont));
}

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/push_heap.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -20,7 +20,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
push_heap_impl(
Container const& cont, Compare comp,
typename sprout::container_traits<Container>::difference_type offset
@ -37,14 +37,14 @@ namespace sprout {
// push_heap
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
push_heap(Container const& cont, Compare comp) {
return sprout::fit::detail::push_heap_impl(cont, comp, sprout::internal_begin_offset(cont));
}
namespace detail {
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
push_heap_impl(
Container const& cont,
typename sprout::container_traits<Container>::difference_type offset
@ -61,7 +61,7 @@ namespace sprout {
// push_heap
//
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
push_heap(Container const& cont) {
return sprout::fit::detail::push_heap_impl(cont, sprout::internal_begin_offset(cont));
}

View file

@ -13,7 +13,7 @@
#include <sprout/container/functions.hpp>
#include <sprout/utility/forward.hpp>
#include <sprout/algorithm/fixed/random_swap.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -21,7 +21,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
random_swap_impl(
Container const& cont, UniformRandomNumberGenerator&& g,
typename sprout::container_traits<Container>::difference_type offset
@ -38,7 +38,7 @@ namespace sprout {
// random_swap
//
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
random_swap(Container const& cont, UniformRandomNumberGenerator&& g) {
return sprout::fit::detail::random_swap_impl(
cont, sprout::forward<UniformRandomNumberGenerator>(g),

View file

@ -15,7 +15,7 @@
#include <sprout/container/functions.hpp>
#include <sprout/utility/forward.hpp>
#include <sprout/algorithm/fixed/random_swap_result.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -24,7 +24,7 @@ namespace sprout {
namespace detail {
template<typename Container, typename UniformRandomNumberGenerator, typename Shuffled>
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type,
typename sprout::fit::results::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type
>
random_swap_result_impl_1(
@ -33,7 +33,7 @@ namespace sprout {
)
{
typedef sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type,
typename sprout::fit::results::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type
> result_type;
return result_type(
@ -47,7 +47,7 @@ namespace sprout {
}
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type,
typename sprout::fit::results::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type
>
random_swap_result_impl(
@ -66,7 +66,7 @@ namespace sprout {
//
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type,
typename sprout::fit::results::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type
>
random_swap_result(Container const& cont, UniformRandomNumberGenerator&& g) {

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/recurrence.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -20,7 +20,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Generator, typename... Inits>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
recurrence_impl(
Container const& cont, Generator const& gen,
typename sprout::container_traits<Container>::difference_type offset,
@ -38,7 +38,7 @@ namespace sprout {
// recurrence
//
template<typename Container, typename Generator, typename... Inits>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
recurrence(Container const& cont, Generator const& gen, Inits const&... inits) {
return sprout::fit::detail::recurrence_impl(cont, gen, sprout::internal_begin_offset(cont), inits...);
}

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/recurrence_n.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
@ -21,7 +21,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Size, typename Generator, typename... Inits>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
recurrence_n_impl(
Container const& cont, Size n, Generator const& gen,
typename sprout::container_traits<Container>::difference_type offset,
@ -39,7 +39,7 @@ namespace sprout {
// recurrence_n
//
template<typename Container, typename Size, typename Generator, typename... Inits>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
recurrence_n(Container const& cont, Size n, Generator const& gen, Inits const&... inits) {
return sprout::fit::detail::recurrence_n_impl(cont, n, gen, sprout::internal_begin_offset(cont), inits...);
}

View file

@ -13,7 +13,7 @@
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/count.hpp>
#include <sprout/algorithm/fixed/remove.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -21,7 +21,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename T>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
remove_impl(
Container const& cont, T const& value,
typename sprout::container_traits<Container>::difference_type offset
@ -38,7 +38,7 @@ namespace sprout {
// remove
//
template<typename Container, typename T>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
remove(Container const& cont, T const& value) {
return sprout::fit::detail::remove_impl(cont, value, sprout::internal_begin_offset(cont));
}

View file

@ -14,7 +14,7 @@
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/count.hpp>
#include <sprout/algorithm/fixed/remove_copy.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include <sprout/iterator/type_traits/category.hpp>
@ -23,7 +23,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename InputIterator, typename Result, typename T>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
remove_copy_impl(
InputIterator first, InputIterator last, Result const& result, T const& value,
typename sprout::container_traits<Result>::difference_type offset
@ -40,7 +40,7 @@ namespace sprout {
// remove_copy
//
template<typename InputIterator, typename Result, typename T>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
remove_copy(InputIterator first, InputIterator last, Result const& result, T const& value) {
static_assert(sprout::is_forward_iterator<InputIterator>::value, "Sorry, not implemented.");
return sprout::fit::detail::remove_copy_impl(first, last, result, value, sprout::internal_begin_offset(result));

View file

@ -14,7 +14,7 @@
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/count_if.hpp>
#include <sprout/algorithm/fixed/remove_copy_if.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include <sprout/iterator/type_traits/category.hpp>
@ -23,7 +23,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename InputIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
remove_copy_if_impl(
InputIterator first, InputIterator last, Result const& result, Predicate pred,
typename sprout::container_traits<Result>::difference_type offset
@ -40,7 +40,7 @@ namespace sprout {
// remove_copy_if
//
template<typename InputIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
remove_copy_if(InputIterator first, InputIterator last, Result const& result, Predicate pred) {
static_assert(sprout::is_forward_iterator<InputIterator>::value, "Sorry, not implemented.");
return sprout::fit::detail::remove_copy_if_impl(first, last, result, pred, sprout::internal_begin_offset(result));

View file

@ -13,7 +13,7 @@
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/count_if.hpp>
#include <sprout/algorithm/fixed/remove_if.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -21,7 +21,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
remove_if_impl(
Container const& cont, Predicate pred,
typename sprout::container_traits<Container>::difference_type offset
@ -38,7 +38,7 @@ namespace sprout {
// remove_if
//
template<typename Container, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
remove_if(Container const& cont, Predicate pred) {
return sprout::fit::detail::remove_if_impl(cont, pred, sprout::internal_begin_offset(cont));
}

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/replace.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -20,7 +20,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename T>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
replace_impl(
Container const& cont, T const& old_value, T const& new_value,
typename sprout::container_traits<Container>::difference_type offset
@ -37,7 +37,7 @@ namespace sprout {
// replace
//
template<typename Container, typename T>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
replace(Container const& cont, T const& old_value, T const& new_value) {
return sprout::fit::detail::replace_impl(cont, old_value, new_value, sprout::internal_begin_offset(cont));
}

View file

@ -13,7 +13,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/replace_copy.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include <sprout/iterator/type_traits/category.hpp>
@ -22,7 +22,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename InputIterator, typename Result, typename T>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
replace_copy_impl(
InputIterator first, InputIterator last, Result const& result, T const& old_value, T const& new_value,
typename sprout::container_traits<Result>::difference_type offset
@ -39,7 +39,7 @@ namespace sprout {
// replace_copy
//
template<typename InputIterator, typename Result, typename T>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
replace_copy(InputIterator first, InputIterator last, Result const& result, T const& old_value, T const& new_value) {
static_assert(sprout::is_forward_iterator<InputIterator>::value, "Sorry, not implemented.");
return sprout::fit::detail::replace_copy_impl(

View file

@ -13,7 +13,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/replace_copy_if.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include <sprout/iterator/type_traits/category.hpp>
@ -22,7 +22,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename InputIterator, typename Result, typename Predicate, typename T>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
replace_copy_if_impl(
InputIterator first, InputIterator last, Result const& result, Predicate pred, T const& new_value,
typename sprout::container_traits<Result>::difference_type offset
@ -39,7 +39,7 @@ namespace sprout {
// replace_copy_if
//
template<typename InputIterator, typename Result, typename Predicate, typename T>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
replace_copy_if(InputIterator first, InputIterator last, Result const& result, Predicate pred, T const& new_value) {
static_assert(sprout::is_forward_iterator<InputIterator>::value, "Sorry, not implemented.");
return sprout::fit::detail::replace_copy_if_impl(first, last, result, pred, new_value, sprout::internal_begin_offset(result));

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/replace_if.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -20,7 +20,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Predicate, typename T>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
replace_if_impl(
Container const& cont, Predicate pred, T const& new_value,
typename sprout::container_traits<Container>::difference_type offset
@ -37,7 +37,7 @@ namespace sprout {
// replace_if
//
template<typename Container, typename Predicate, typename T>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
replace_if(Container const& cont, Predicate pred, T const& new_value) {
return sprout::fit::detail::replace_if_impl(cont, pred, new_value, sprout::internal_begin_offset(cont));
}

View file

@ -12,12 +12,12 @@
#include <sprout/config.hpp>
#include <sprout/container/traits.hpp>
#include <sprout/container/metafunctions.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
namespace sprout {
namespace fit {
namespace result_of {
namespace results {
//
// algorithm
//
@ -27,12 +27,12 @@ namespace sprout {
typedef sprout::sub_array<
typename std::decay<
typename sprout::containers::internal<
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
>::type
> type;
};
} // namespace result_of
} // namespace results
} // namespace fit
} // namespace sprout

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/reverse.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -20,7 +20,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
reverse_impl(
Container const& cont,
typename sprout::container_traits<Container>::difference_type offset
@ -37,7 +37,7 @@ namespace sprout {
// reverse
//
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
reverse(Container const& cont) {
return sprout::fit::detail::reverse_impl(cont, sprout::internal_begin_offset(cont));
}

View file

@ -13,7 +13,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/reverse_copy.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -21,7 +21,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename BidirectionalIterator, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
reverse_copy_impl(
BidirectionalIterator first, BidirectionalIterator last, Result const& result,
typename sprout::container_traits<Result>::difference_type offset
@ -38,7 +38,7 @@ namespace sprout {
// reverse_copy
//
template<typename BidirectionalIterator, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
reverse_copy(BidirectionalIterator first, BidirectionalIterator last, Result const& result) {
return sprout::fit::detail::reverse_copy_impl(first, last, result, sprout::internal_begin_offset(result));
}

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/rotate.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -20,7 +20,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
rotate_impl(
Container const& cont, typename sprout::container_traits<Container>::const_iterator middle,
typename sprout::container_traits<Container>::difference_type offset
@ -37,7 +37,7 @@ namespace sprout {
// rotate
//
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
rotate(Container const& cont, typename sprout::container_traits<Container>::const_iterator middle) {
return sprout::fit::detail::rotate_impl(cont, middle, sprout::internal_begin_offset(cont));
}

View file

@ -13,7 +13,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/rotate_copy.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -21,7 +21,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename ForwardIterator, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
rotate_copy_impl(
ForwardIterator first, ForwardIterator middle, ForwardIterator last, Result const& result,
typename sprout::container_traits<Result>::difference_type offset
@ -38,7 +38,7 @@ namespace sprout {
// rotate_copy
//
template<typename ForwardIterator, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
rotate_copy(ForwardIterator first, ForwardIterator middle, ForwardIterator last, Result const& result) {
return sprout::fit::detail::rotate_copy_impl(first, middle, last, result, sprout::internal_begin_offset(result));
}

View file

@ -13,7 +13,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/set_union.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include <sprout/detail/algorithm/set_overlap_count.hpp>
@ -23,7 +23,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
set_difference_impl(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
@ -44,7 +44,7 @@ namespace sprout {
// set_difference
//
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
set_difference(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
@ -60,7 +60,7 @@ namespace sprout {
namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
set_difference_impl(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
@ -81,7 +81,7 @@ namespace sprout {
// set_difference
//
template<typename InputIterator1, typename InputIterator2, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
set_difference(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/set_union.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include <sprout/detail/algorithm/set_overlap_count.hpp>
@ -22,7 +22,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
set_intersection_impl(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
@ -43,7 +43,7 @@ namespace sprout {
// set_intersection
//
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
set_intersection(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
@ -59,7 +59,7 @@ namespace sprout {
namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
set_intersection_impl(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
@ -80,7 +80,7 @@ namespace sprout {
// set_intersection
//
template<typename InputIterator1, typename InputIterator2, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
set_intersection(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,

View file

@ -13,7 +13,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/set_union.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include <sprout/detail/algorithm/set_overlap_count.hpp>
@ -23,7 +23,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
set_symmetric_difference_impl(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
@ -44,7 +44,7 @@ namespace sprout {
// set_symmetric_difference
//
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
set_symmetric_difference(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
@ -60,7 +60,7 @@ namespace sprout {
namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
set_symmetric_difference_impl(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
@ -81,7 +81,7 @@ namespace sprout {
// set_symmetric_difference
//
template<typename InputIterator1, typename InputIterator2, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
set_symmetric_difference(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,

View file

@ -13,7 +13,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/set_union.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include <sprout/detail/algorithm/set_overlap_count.hpp>
@ -23,7 +23,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
set_union_impl(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
@ -44,7 +44,7 @@ namespace sprout {
// set_union
//
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
set_union(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
@ -60,7 +60,7 @@ namespace sprout {
namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
set_union_impl(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
@ -81,7 +81,7 @@ namespace sprout {
// set_union
//
template<typename InputIterator1, typename InputIterator2, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
set_union(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,

View file

@ -13,7 +13,7 @@
#include <sprout/container/functions.hpp>
#include <sprout/utility/forward.hpp>
#include <sprout/algorithm/fixed/shuffle.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -21,7 +21,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
shuffle_impl(
Container const& cont, UniformRandomNumberGenerator&& g,
typename sprout::container_traits<Container>::difference_type offset
@ -38,7 +38,7 @@ namespace sprout {
// shuffle
//
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
shuffle(Container const& cont, UniformRandomNumberGenerator&& g) {
return sprout::fit::detail::shuffle_impl(
cont, sprout::forward<UniformRandomNumberGenerator>(g),

View file

@ -15,7 +15,7 @@
#include <sprout/container/functions.hpp>
#include <sprout/utility/forward.hpp>
#include <sprout/algorithm/fixed/shuffle_result.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -24,7 +24,7 @@ namespace sprout {
namespace detail {
template<typename Container, typename UniformRandomNumberGenerator, typename Shuffled>
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type,
typename sprout::fit::results::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type
>
shuffle_result_impl_1(
@ -33,7 +33,7 @@ namespace sprout {
)
{
typedef sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type,
typename sprout::fit::results::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type
> result_type;
return result_type(
@ -47,7 +47,7 @@ namespace sprout {
}
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type,
typename sprout::fit::results::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type
>
shuffle_result_impl(
@ -66,7 +66,7 @@ namespace sprout {
//
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type,
typename sprout::fit::results::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type
>
shuffle_result(Container const& cont, UniformRandomNumberGenerator&& g) {

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/sort.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -20,7 +20,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
sort_impl(
Container const& cont, Compare comp,
typename sprout::container_traits<Container>::difference_type offset
@ -37,14 +37,14 @@ namespace sprout {
// sort
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
sort(Container const& cont, Compare comp) {
return sprout::fit::detail::sort_impl(cont, comp, sprout::internal_begin_offset(cont));
}
namespace detail {
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
sort_impl(
Container const& cont,
typename sprout::container_traits<Container>::difference_type offset
@ -61,7 +61,7 @@ namespace sprout {
// sort
//
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
sort(Container const& cont) {
return sprout::fit::detail::sort_impl(cont, sprout::internal_begin_offset(cont));
}

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/sort_heap.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -20,7 +20,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
sort_heap_impl(
Container const& cont, Compare comp,
typename sprout::container_traits<Container>::difference_type offset
@ -37,14 +37,14 @@ namespace sprout {
// sort_heap
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
sort_heap(Container const& cont, Compare comp) {
return sprout::fit::detail::sort_heap_impl(cont, comp, sprout::internal_begin_offset(cont));
}
namespace detail {
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
sort_heap_impl(
Container const& cont,
typename sprout::container_traits<Container>::difference_type offset
@ -61,7 +61,7 @@ namespace sprout {
// sort_heap
//
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
sort_heap(Container const& cont) {
return sprout::fit::detail::sort_heap_impl(cont, sprout::internal_begin_offset(cont));
}

View file

@ -13,7 +13,7 @@
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/count_if.hpp>
#include <sprout/algorithm/fixed/stable_partition.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -21,7 +21,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
stable_partition_impl(
Container const& cont, Predicate pred,
typename sprout::container_traits<Container>::difference_type offset
@ -38,7 +38,7 @@ namespace sprout {
// stable_partition
//
template<typename Container, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
stable_partition(Container const& cont, Predicate pred) {
return sprout::fit::detail::stable_partition_impl(cont, pred, sprout::internal_begin_offset(cont));
}

View file

@ -13,7 +13,7 @@
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/count_if.hpp>
#include <sprout/algorithm/fixed/stable_partition_copy.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -21,7 +21,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename BidirectionalIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
stable_partition_copy_impl(
BidirectionalIterator first, BidirectionalIterator last, Result const& result, Predicate pred,
typename sprout::container_traits<Result>::difference_type offset
@ -38,7 +38,7 @@ namespace sprout {
// stable_partition_copy
//
template<typename BidirectionalIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
stable_partition_copy(BidirectionalIterator first, BidirectionalIterator last, Result const& result, Predicate pred) {
return sprout::fit::detail::stable_partition_copy_impl(first, last, result, pred, sprout::internal_begin_offset(result));
}

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/stable_sort.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -20,7 +20,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
stable_sort_impl(
Container const& cont, Compare comp,
typename sprout::container_traits<Container>::difference_type offset
@ -37,14 +37,14 @@ namespace sprout {
// stable_sort
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
stable_sort(Container const& cont, Compare comp) {
return sprout::fit::detail::stable_sort_impl(cont, comp, sprout::internal_begin_offset(cont));
}
namespace detail {
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
stable_sort_impl(
Container const& cont,
typename sprout::container_traits<Container>::difference_type offset
@ -61,7 +61,7 @@ namespace sprout {
// stable_sort
//
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
stable_sort(Container const& cont) {
return sprout::fit::detail::stable_sort_impl(cont, sprout::internal_begin_offset(cont));
}

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/swap_element.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -21,7 +21,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
swap_element_impl(
Container const& cont,
typename sprout::container_traits<Container>::const_iterator pos1,
@ -40,7 +40,7 @@ namespace sprout {
// swap_element
//
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
swap_element(
Container const& cont,
typename sprout::container_traits<Container>::const_iterator pos1,

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/swap_element_copy.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include <sprout/iterator/operation.hpp>
@ -21,7 +21,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename ForwardIterator, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
swap_element_copy_impl(
ForwardIterator first, ForwardIterator last, Result const& result, ForwardIterator pos1, ForwardIterator pos2,
typename sprout::container_traits<Result>::difference_type offset
@ -38,7 +38,7 @@ namespace sprout {
// swap_element_copy
//
template<typename ForwardIterator, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
swap_element_copy(ForwardIterator first, ForwardIterator last, Result const& result, ForwardIterator pos1, ForwardIterator pos2) {
return sprout::fit::detail::swap_element_copy_impl(first, last, result, pos1, pos2, sprout::internal_begin_offset(result));
}

View file

@ -13,7 +13,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/transform.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include <sprout/iterator/type_traits/category.hpp>
@ -22,7 +22,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename InputIterator, typename Result, typename UnaryOperation>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
transform_impl(
InputIterator first, InputIterator last, Result const& result, UnaryOperation op,
typename sprout::container_traits<Result>::difference_type offset
@ -39,7 +39,7 @@ namespace sprout {
// transform
//
template<typename InputIterator, typename Result, typename UnaryOperation>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
transform(InputIterator first, InputIterator last, Result const& result, UnaryOperation op) {
static_assert(sprout::is_forward_iterator<InputIterator>::value, "Sorry, not implemented.");
return sprout::fit::detail::transform_impl(first, last, result, op, sprout::internal_begin_offset(result));
@ -47,7 +47,7 @@ namespace sprout {
namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result, typename BinaryOperation>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
transform_impl(
InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, Result const& result, BinaryOperation op,
typename sprout::container_traits<Result>::difference_type offset
@ -64,7 +64,7 @@ namespace sprout {
// transform
//
template<typename InputIterator1, typename InputIterator2, typename Result, typename BinaryOperation>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
transform(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, Result const& result, BinaryOperation op) {
static_assert(sprout::is_forward_iterator<InputIterator1>::value, "Sorry, not implemented.");
return sprout::fit::detail::transform_impl(first1, last1, first2, result, op, sprout::internal_begin_offset(result));

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/unfold.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
@ -20,7 +20,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Generator, typename Init>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
unfold_impl(
Container const& cont, Generator const& gen, Init const& init,
typename sprout::container_traits<Container>::difference_type offset
@ -37,7 +37,7 @@ namespace sprout {
// unfold
//
template<typename Container, typename Generator, typename Init>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
unfold(Container const& cont, Generator const& gen, Init const& init) {
return sprout::fit::detail::unfold_impl(cont, gen, init, sprout::internal_begin_offset(cont));
}

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/unfold_n.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
@ -21,7 +21,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container, typename Size, typename Generator, typename Init>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
unfold_n_impl(
Container const& cont, Size n, Generator const& gen, Init const& init,
typename sprout::container_traits<Container>::difference_type offset
@ -38,7 +38,7 @@ namespace sprout {
// unfold_n
//
template<typename Container, typename Size, typename Generator, typename Init>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
unfold_n(Container const& cont, Size n, Generator const& gen, Init const& init) {
return sprout::fit::detail::unfold_n_impl(cont, n, gen, init, sprout::internal_begin_offset(cont));
}

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/unique.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include <sprout/detail/algorithm/overlap_count.hpp>
@ -21,7 +21,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
unique_impl(
Container const& cont,
typename sprout::container_traits<Container>::difference_type offset
@ -38,14 +38,14 @@ namespace sprout {
// unique
//
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
unique(Container const& cont) {
return sprout::fit::detail::unique_impl(cont, sprout::internal_begin_offset(cont));
}
namespace detail {
template<typename Container, typename BinaryPredicate>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
unique_impl(
Container const& cont, BinaryPredicate pred,
typename sprout::container_traits<Container>::difference_type offset
@ -62,7 +62,7 @@ namespace sprout {
// unique
//
template<typename Container, typename BinaryPredicate>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Container>::type
unique(Container const& cont, BinaryPredicate pred) {
return sprout::fit::detail::unique_impl(cont, pred, sprout::internal_begin_offset(cont));
}

View file

@ -13,7 +13,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/unique_copy.hpp>
#include <sprout/algorithm/fit/result_of.hpp>
#include <sprout/algorithm/fit/results.hpp>
#include <sprout/sub_array/sub_array.hpp>
#include <sprout/sub_array/sub.hpp>
#include <sprout/detail/algorithm/overlap_count.hpp>
@ -23,7 +23,7 @@ namespace sprout {
namespace fit {
namespace detail {
template<typename InputIterator, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
unique_copy_impl(
InputIterator first, InputIterator last, Result const& result,
typename sprout::container_traits<Result>::difference_type offset
@ -40,7 +40,7 @@ namespace sprout {
// unique_copy
//
template<typename InputIterator, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
unique_copy(InputIterator first, InputIterator last, Result const& result) {
static_assert(sprout::is_forward_iterator<InputIterator>::value, "Sorry, not implemented.");
return sprout::fit::detail::unique_copy_impl(first, last, result, sprout::internal_begin_offset(result));
@ -48,7 +48,7 @@ namespace sprout {
namespace detail {
template<typename InputIterator, typename Result, typename BinaryPredicate>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
unique_copy_impl(
InputIterator first, InputIterator last, Result const& result, BinaryPredicate pred,
typename sprout::container_traits<Result>::difference_type offset
@ -65,7 +65,7 @@ namespace sprout {
// unique_copy
//
template<typename InputIterator, typename Result, typename BinaryPredicate>
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fit::results::algorithm<Result>::type
unique_copy(InputIterator first, InputIterator last, Result const& result, BinaryPredicate pred) {
static_assert(sprout::is_forward_iterator<InputIterator>::value, "Sorry, not implemented.");
return sprout::fit::detail::unique_copy_impl(first, last, result, pred, sprout::internal_begin_offset(result));

View file

@ -12,7 +12,7 @@
#include <sprout/utility/forward.hpp>
#include <sprout/utility/pair/pair.hpp>
#include <sprout/utility/pair/access.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/bogo_sort_result.hpp>
namespace sprout {
@ -21,14 +21,14 @@ namespace sprout {
// bogo_sort
//
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
bogo_sort(Container const& cont, UniformRandomNumberGenerator&& g, Compare comp) {
return sprout::first(
sprout::fixed::bogo_sort_result(cont, sprout::forward<UniformRandomNumberGenerator>(g), comp)
);
}
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
bogo_sort(Container const& cont, UniformRandomNumberGenerator&& g) {
return sprout::first(
sprout::fixed::bogo_sort_result(cont, sprout::forward<UniformRandomNumberGenerator>(g))

View file

@ -17,7 +17,7 @@
#include <sprout/utility/pair/pair.hpp>
#include <sprout/utility/pair/access.hpp>
#include <sprout/algorithm/is_sorted.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/shuffle_result.hpp>
#include HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT
@ -63,9 +63,9 @@ namespace sprout {
;
}
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::shuffle<Container, UniformRandomNumberGenerator>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::shuffle<Container, UniformRandomNumberGenerator>::type
bogo_sort_result(Container const& cont, UniformRandomNumberGenerator&& g, Compare comp) {
typedef typename sprout::fixed::result_of::shuffle<Container, UniformRandomNumberGenerator>::type result_type;
typedef typename sprout::fixed::results::shuffle<Container, UniformRandomNumberGenerator>::type result_type;
typedef sprout::pair<result_type, bool> type;
return sprout::is_sorted(sprout::begin(cont), sprout::end(cont), comp)
? result_type(sprout::deep_copy(cont), sprout::forward<UniformRandomNumberGenerator>(g))
@ -80,7 +80,7 @@ namespace sprout {
// bogo_sort_result
//
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::shuffle<Container, UniformRandomNumberGenerator>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::shuffle<Container, UniformRandomNumberGenerator>::type
bogo_sort_result(Container const& cont, UniformRandomNumberGenerator&& g, Compare comp) {
return sprout::fixed::detail::bogo_sort_result(
cont,
@ -89,7 +89,7 @@ namespace sprout {
);
}
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::shuffle<Container, UniformRandomNumberGenerator>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::shuffle<Container, UniformRandomNumberGenerator>::type
bogo_sort_result(Container const& cont, UniformRandomNumberGenerator&& g) {
return sprout::fixed::detail::bogo_sort_result(
cont,

View file

@ -12,7 +12,7 @@
#include <sprout/utility/forward.hpp>
#include <sprout/utility/pair/pair.hpp>
#include <sprout/utility/pair/access.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/bozo_sort_result.hpp>
namespace sprout {
@ -21,14 +21,14 @@ namespace sprout {
// bozo_sort
//
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
bozo_sort(Container const& cont, UniformRandomNumberGenerator&& g, Compare comp) {
return sprout::first(
sprout::fixed::bozo_sort_result(cont, sprout::forward<UniformRandomNumberGenerator>(g), comp)
);
}
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
bozo_sort(Container const& cont, UniformRandomNumberGenerator&& g) {
return sprout::first(
sprout::fixed::bozo_sort_result(cont, sprout::forward<UniformRandomNumberGenerator>(g))

View file

@ -17,7 +17,7 @@
#include <sprout/utility/pair/pair.hpp>
#include <sprout/utility/pair/access.hpp>
#include <sprout/algorithm/is_sorted.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/random_swap_result.hpp>
#include HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT
@ -63,9 +63,9 @@ namespace sprout {
;
}
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::shuffle<Container, UniformRandomNumberGenerator>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::shuffle<Container, UniformRandomNumberGenerator>::type
bozo_sort_result(Container const& cont, UniformRandomNumberGenerator&& g, Compare comp) {
typedef typename sprout::fixed::result_of::shuffle<Container, UniformRandomNumberGenerator>::type result_type;
typedef typename sprout::fixed::results::shuffle<Container, UniformRandomNumberGenerator>::type result_type;
typedef sprout::pair<result_type, bool> type;
return sprout::is_sorted(sprout::begin(cont), sprout::end(cont), comp)
? result_type(sprout::deep_copy(cont), sprout::forward<UniformRandomNumberGenerator>(g))
@ -80,7 +80,7 @@ namespace sprout {
// bozo_sort_result
//
template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::shuffle<Container, UniformRandomNumberGenerator>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::shuffle<Container, UniformRandomNumberGenerator>::type
bozo_sort_result(Container const& cont, UniformRandomNumberGenerator&& g, Compare comp) {
return sprout::fixed::detail::bozo_sort_result(
cont,
@ -89,7 +89,7 @@ namespace sprout {
);
}
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::shuffle<Container, UniformRandomNumberGenerator>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::shuffle<Container, UniformRandomNumberGenerator>::type
bozo_sort_result(Container const& cont, UniformRandomNumberGenerator&& g) {
return sprout::fixed::detail::bozo_sort_result(
cont,

View file

@ -11,7 +11,7 @@
#include <sprout/config.hpp>
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/clamp_range_copy.hpp>
namespace sprout {
@ -20,7 +20,7 @@ namespace sprout {
// clamp_range
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
clamp_range(
Container const& cont,
typename sprout::container_traits<Container>::value_type const& low,
@ -31,7 +31,7 @@ namespace sprout {
return sprout::fixed::clamp_range_copy(sprout::begin(cont), sprout::end(cont), cont, low, high, comp);
}
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
clamp_range(
Container const& cont,
typename sprout::container_traits<Container>::value_type const& low,

View file

@ -17,7 +17,7 @@
#include <sprout/container/indexes.hpp>
#include <sprout/iterator/operation.hpp>
#include <sprout/iterator/clamp_iterator.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/clamp.hpp>
#include <sprout/pit/pit.hpp>
#include <sprout/detail/container_complate.hpp>
@ -27,7 +27,7 @@ namespace sprout {
namespace fixed {
namespace detail {
template<typename RandomAccessIterator, typename Result, typename Compare, sprout::index_t... Indexes>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
clamp_range_copy_impl_ra(
RandomAccessIterator first, RandomAccessIterator, Result const& result,
typename std::iterator_traits<RandomAccessIterator>::value_type const& low,
@ -49,7 +49,7 @@ namespace sprout {
);
}
template<typename RandomAccessIterator, typename Result, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
clamp_range_copy(
RandomAccessIterator first, RandomAccessIterator last, Result const& result,
typename std::iterator_traits<RandomAccessIterator>::value_type const& low,
@ -70,7 +70,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename Compare, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
clamp_range_copy_impl(
InputIterator, InputIterator, Result const& result,
@ -86,7 +86,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename Compare, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
clamp_range_copy_impl(
InputIterator first, InputIterator last, Result const& result,
@ -107,7 +107,7 @@ namespace sprout {
;
}
template<typename InputIterator, typename Result, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
clamp_range_copy(
InputIterator first, InputIterator last, Result const& result,
typename std::iterator_traits<InputIterator>::value_type const& low,
@ -122,7 +122,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename Compare>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::is_fixed_container<Result>::value,
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
clamp_range_copy(
InputIterator first, InputIterator last, Result const& result,
@ -138,7 +138,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename Compare>
inline SPROUT_CONSTEXPR typename std::enable_if<
!sprout::is_fixed_container<Result>::value,
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
clamp_range_copy(
InputIterator first, InputIterator last, Result const& result,
@ -158,7 +158,7 @@ namespace sprout {
// clamp_range_copy
//
template<typename InputIterator, typename Result, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
clamp_range_copy(
InputIterator first, InputIterator last, Result const& result,
typename std::iterator_traits<InputIterator>::value_type const& low,
@ -169,7 +169,7 @@ namespace sprout {
return sprout::fixed::detail::clamp_range_copy(first, last, result, low, high, comp);
}
template<typename InputIterator, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
clamp_range_copy(
InputIterator first, InputIterator last, Result const& result,
typename std::iterator_traits<InputIterator>::value_type const& low,
@ -183,7 +183,7 @@ namespace sprout {
}
template<typename Result, typename InputIterator, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
clamp_range_copy(
InputIterator first, InputIterator last,
typename std::iterator_traits<InputIterator>::value_type const& low,
@ -194,7 +194,7 @@ namespace sprout {
return sprout::fixed::clamp_range_copy(first, last, sprout::pit<Result>(), low, high, comp);
}
template<typename Result, typename InputIterator>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
clamp_range_copy(
InputIterator first, InputIterator last,
typename std::iterator_traits<InputIterator>::value_type const& low,

View file

@ -18,7 +18,7 @@
#include <sprout/iterator/operation.hpp>
#include <sprout/iterator/type_traits/is_iterator_of.hpp>
#include <sprout/type_traits/enabler_if.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/pit/pit.hpp>
#include <sprout/math/less.hpp>
#include <sprout/detail/container_complate.hpp>
@ -27,7 +27,7 @@ namespace sprout {
namespace fixed {
namespace detail {
template<typename RandomAccessIterator, typename Result, sprout::index_t... Indexes>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_impl_ra(
RandomAccessIterator first, RandomAccessIterator, Result const& result,
sprout::index_tuple<Indexes...>,
@ -45,7 +45,7 @@ namespace sprout {
);
}
template<typename RandomAccessIterator, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy(
RandomAccessIterator first, RandomAccessIterator last, Result const& result,
std::random_access_iterator_tag*
@ -63,7 +63,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy_impl(
InputIterator, InputIterator, Result const& result,
@ -76,7 +76,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy_impl(
InputIterator first, InputIterator last, Result const& result,
@ -90,7 +90,7 @@ namespace sprout {
;
}
template<typename InputIterator, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy(
InputIterator first, InputIterator last, Result const& result,
std::input_iterator_tag*
@ -102,7 +102,7 @@ namespace sprout {
template<typename InputIterator, typename Result>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::is_fixed_container<Result>::value,
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy(InputIterator first, InputIterator last, Result const& result) {
typedef typename std::iterator_traits<InputIterator>::iterator_category* category;
@ -112,7 +112,7 @@ namespace sprout {
template<typename InputIterator, typename Result>
inline SPROUT_CONSTEXPR typename std::enable_if<
!sprout::is_fixed_container<Result>::value,
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy(InputIterator first, InputIterator last, Result const& result) {
return sprout::remake<Result>(
@ -125,13 +125,13 @@ namespace sprout {
// copy
//
template<typename InputIterator, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy(InputIterator first, InputIterator last, Result const& result) {
return sprout::fixed::detail::copy(first, last, result);
}
template<typename Result, typename InputIterator>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy(InputIterator first, InputIterator last) {
return sprout::fixed::copy(first, last, sprout::pit<Result>());
}
@ -141,13 +141,13 @@ namespace sprout {
typename InputIterator, typename Result,
typename sprout::enabler_if<!sprout::is_iterator_outputable<Result>::value>::type = sprout::enabler
>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy(InputIterator first, InputIterator last, Result const& result) {
return sprout::fixed::copy(first, last, result);
}
template<typename Result, typename InputIterator>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy(InputIterator first, InputIterator last) {
return sprout::fixed::copy<Result>(first, last);
}

View file

@ -18,7 +18,7 @@
#include <sprout/iterator/operation.hpp>
#include <sprout/iterator/type_traits/is_iterator_of.hpp>
#include <sprout/type_traits/enabler_if.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/pit/pit.hpp>
#include <sprout/math/greater_equal.hpp>
#include <sprout/detail/container_complate_backward.hpp>
@ -27,7 +27,7 @@ namespace sprout {
namespace fixed {
namespace detail {
template<typename RandomAccessIterator, typename Result, sprout::index_t... Indexes>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_backward_impl_ra(
RandomAccessIterator, RandomAccessIterator last, Result const& result,
sprout::index_tuple<Indexes...>,
@ -45,7 +45,7 @@ namespace sprout {
);
}
template<typename RandomAccessIterator, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_backward(
RandomAccessIterator first, RandomAccessIterator last, Result const& result,
std::random_access_iterator_tag*
@ -62,7 +62,7 @@ namespace sprout {
template<typename BidirectionalIterator, typename Result, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy_backward_impl(
BidirectionalIterator, BidirectionalIterator, Result const& result,
@ -75,7 +75,7 @@ namespace sprout {
template<typename BidirectionalIterator, typename Result, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy_backward_impl(
BidirectionalIterator first, BidirectionalIterator last, Result const& result,
@ -89,7 +89,7 @@ namespace sprout {
;
}
template<typename BidirectionalIterator, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_backward(
BidirectionalIterator first, BidirectionalIterator last, Result const& result,
std::bidirectional_iterator_tag*
@ -104,7 +104,7 @@ namespace sprout {
template<typename BidirectionalIterator, typename Result>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::is_fixed_container<Result>::value,
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy_backward(BidirectionalIterator first, BidirectionalIterator last, Result const& result) {
typedef typename std::iterator_traits<BidirectionalIterator>::iterator_category* category;
@ -115,13 +115,13 @@ namespace sprout {
// copy_backward
//
template<typename BidirectionalIterator, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_backward(BidirectionalIterator first, BidirectionalIterator last, Result const& result) {
return sprout::fixed::detail::copy_backward(first, last, result);
}
template<typename Result, typename BidirectionalIterator>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_backward(BidirectionalIterator first, BidirectionalIterator last) {
return sprout::fixed::copy_backward(first, last, sprout::pit<Result>());
}
@ -131,13 +131,13 @@ namespace sprout {
typename BidirectionalIterator, typename Result,
typename sprout::enabler_if<!sprout::is_iterator_outputable<Result>::value>::type = sprout::enabler
>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_backward(BidirectionalIterator first, BidirectionalIterator last, Result const& result) {
return sprout::fixed::copy_backward(first, last, result);
}
template<typename Result, typename BidirectionalIterator>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_backward(BidirectionalIterator first, BidirectionalIterator last) {
return sprout::fixed::copy_backward<Result>(first, last);
}

View file

@ -16,7 +16,7 @@
#include <sprout/iterator/filter_iterator.hpp>
#include <sprout/iterator/type_traits/is_iterator_of.hpp>
#include <sprout/type_traits/enabler_if.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/pit/pit.hpp>
#include <sprout/detail/container_complate.hpp>
@ -26,7 +26,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename Predicate, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy_if_impl(InputIterator, InputIterator, Result const& result, Predicate,
typename sprout::container_traits<Result>::size_type,
@ -38,7 +38,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename Predicate, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy_if_impl(
InputIterator first, InputIterator last, Result const& result, Predicate pred,
@ -57,7 +57,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::is_fixed_container<Result>::value,
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy_if(InputIterator first, InputIterator last, Result const& result, Predicate pred) {
return sprout::fixed::detail::copy_if_impl(first, last, result, pred, sprout::size(result));
@ -66,7 +66,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename std::enable_if<
!sprout::is_fixed_container<Result>::value,
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy_if(InputIterator first, InputIterator last, Result const& result, Predicate pred) {
return sprout::remake<Result>(
@ -80,13 +80,13 @@ namespace sprout {
// copy_if
//
template<typename InputIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_if(InputIterator first, InputIterator last, Result const& result, Predicate pred) {
return sprout::fixed::detail::copy_if(first, last, result, pred);
}
template<typename Result, typename InputIterator, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_if(InputIterator first, InputIterator last, Predicate pred) {
return sprout::fixed::copy_if(first, last, sprout::pit<Result>(), pred);
}
@ -96,13 +96,13 @@ namespace sprout {
typename InputIterator, typename Result, typename Predicate,
typename sprout::enabler_if<!sprout::is_iterator_outputable<Result>::value>::type = sprout::enabler
>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_if(InputIterator first, InputIterator last, Result const& result, Predicate pred) {
return sprout::fixed::copy_if(first, last, result, pred);
}
template<typename Result, typename InputIterator, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_if(InputIterator first, InputIterator last, Predicate pred) {
return sprout::fixed::copy_if<Result>(first, last, pred);
}

View file

@ -16,7 +16,7 @@
#include <sprout/iterator/operation.hpp>
#include <sprout/iterator/type_traits/is_iterator_of.hpp>
#include <sprout/type_traits/enabler_if.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/copy.hpp>
#include <sprout/pit/pit.hpp>
#include <sprout/math/less.hpp>
@ -27,7 +27,7 @@ namespace sprout {
namespace fixed {
namespace detail {
template<typename RandomAccessIterator, typename Size, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_n(
RandomAccessIterator first, Size n, Result const& result,
std::random_access_iterator_tag*
@ -39,7 +39,7 @@ namespace sprout {
template<typename InputIterator, typename Size, typename Result, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy_n_impl(InputIterator, Size, Result const& result,
typename sprout::container_traits<Result>::difference_type,
@ -51,7 +51,7 @@ namespace sprout {
template<typename InputIterator, typename Size, typename Result, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy_n_impl(
InputIterator first, Size n, Result const& result,
@ -65,7 +65,7 @@ namespace sprout {
;
}
template<typename InputIterator, typename Size, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_n(
InputIterator first, Size n, Result const& result,
std::input_iterator_tag*
@ -77,7 +77,7 @@ namespace sprout {
template<typename InputIterator, typename Size, typename Result>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::is_fixed_container<Result>::value,
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy_n(InputIterator first, Size n, Result const& result) {
typedef typename std::iterator_traits<InputIterator>::iterator_category* category;
@ -87,7 +87,7 @@ namespace sprout {
template<typename InputIterator, typename Size, typename Result>
inline SPROUT_CONSTEXPR typename std::enable_if<
!sprout::is_fixed_container<Result>::value,
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy_n(InputIterator first, Size n, Result const& result) {
static_assert(sprout::is_forward_iterator<InputIterator>::value, "Sorry, not implemented.");
@ -98,13 +98,13 @@ namespace sprout {
// copy_n
//
template<typename InputIterator, typename Size, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_n(InputIterator first, Size n, Result const& result) {
return sprout::fixed::detail::copy_n(first, n, result);
}
template<typename Result, typename InputIterator, typename Size>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_n(InputIterator first, Size n) {
return sprout::fixed::copy_n(first, n, sprout::pit<Result>());
}
@ -114,13 +114,13 @@ namespace sprout {
typename InputIterator, typename Size, typename Result,
typename sprout::enabler_if<!sprout::is_iterator_outputable<Result>::value>::type = sprout::enabler
>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_n(InputIterator first, Size n, Result const& result) {
return sprout::fixed::copy_n(first, n, result);
}
template<typename Result, typename Size, typename InputIterator>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_n(InputIterator first, Size n) {
return sprout::fixed::copy_n<Result>(first, n);
}

View file

@ -17,7 +17,7 @@
#include <sprout/iterator/while_iterator.hpp>
#include <sprout/functional/not1.hpp>
#include <sprout/algorithm/find_if.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/copy.hpp>
#include <sprout/pit/pit.hpp>
#include <sprout/detail/container_complate.hpp>
@ -26,7 +26,7 @@ namespace sprout {
namespace fixed {
namespace detail {
template<typename RandomAccessIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_until(
RandomAccessIterator first, RandomAccessIterator last, Result const& result, Predicate pred,
std::random_access_iterator_tag*
@ -38,7 +38,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename Predicate, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy_until_impl(
InputIterator, InputIterator, Result const& result, Predicate,
@ -51,7 +51,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename Predicate, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy_until_impl(
InputIterator first, InputIterator last, Result const& result, Predicate pred,
@ -65,7 +65,7 @@ namespace sprout {
;
}
template<typename InputIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_until(
InputIterator first, InputIterator last, Result const& result, Predicate pred,
std::input_iterator_tag*
@ -77,7 +77,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::is_fixed_container<Result>::value,
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy_until(InputIterator first, InputIterator last, Result const& result, Predicate pred) {
typedef typename std::iterator_traits<InputIterator>::iterator_category* category;
@ -87,7 +87,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename std::enable_if<
!sprout::is_fixed_container<Result>::value,
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy_until(InputIterator first, InputIterator last, Result const& result, Predicate pred) {
return sprout::remake<Result>(
@ -101,13 +101,13 @@ namespace sprout {
// copy_until
//
template<typename InputIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_until(InputIterator first, InputIterator last, Result const& result, Predicate pred) {
return sprout::fixed::detail::copy_until(first, last, result, pred);
}
template<typename Result, typename InputIterator, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_until(InputIterator first, InputIterator last, Predicate pred) {
return sprout::fixed::copy_until(first, last, sprout::pit<Result>(), pred);
}

View file

@ -16,7 +16,7 @@
#include <sprout/iterator/operation.hpp>
#include <sprout/iterator/while_iterator.hpp>
#include <sprout/algorithm/find_if_not.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/copy.hpp>
#include <sprout/pit/pit.hpp>
#include <sprout/detail/container_complate.hpp>
@ -25,7 +25,7 @@ namespace sprout {
namespace fixed {
namespace detail {
template<typename RandomAccessIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_while(
RandomAccessIterator first, RandomAccessIterator last, Result const& result, Predicate pred,
std::random_access_iterator_tag*
@ -37,7 +37,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename Predicate, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy_while_impl(
InputIterator, InputIterator, Result const& result, Predicate,
@ -50,7 +50,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename Predicate, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy_while_impl(
InputIterator first, InputIterator last, Result const& result, Predicate pred,
@ -64,7 +64,7 @@ namespace sprout {
;
}
template<typename InputIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_while(
InputIterator first, InputIterator last, Result const& result, Predicate pred,
std::input_iterator_tag*
@ -76,7 +76,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::is_fixed_container<Result>::value,
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy_while(InputIterator first, InputIterator last, Result const& result, Predicate pred) {
typedef typename std::iterator_traits<InputIterator>::iterator_category* category;
@ -86,7 +86,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename std::enable_if<
!sprout::is_fixed_container<Result>::value,
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
copy_while(InputIterator first, InputIterator last, Result const& result, Predicate pred) {
return sprout::remake<Result>(
@ -100,13 +100,13 @@ namespace sprout {
// copy_while
//
template<typename InputIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_while(InputIterator first, InputIterator last, Result const& result, Predicate pred) {
return sprout::fixed::detail::copy_while(first, last, result, pred);
}
template< typename Result, typename InputIterator,typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
copy_while(InputIterator first, InputIterator last, Predicate pred) {
return sprout::fixed::copy_while(first, last, sprout::pit<Result>(), pred);
}

View file

@ -13,7 +13,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/iterator/operation.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/swap_element.hpp>
#include HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT
@ -21,7 +21,7 @@ namespace sprout {
namespace fixed {
namespace detail {
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
sort_lr(
Container const& cont,
typename sprout::container_traits<Container>::difference_type start,
@ -32,7 +32,7 @@ namespace sprout {
typename sprout::container_traits<Container>::value_type const& p
);
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
sort_start(
Container const& cont,
typename sprout::container_traits<Container>::difference_type start,
@ -79,7 +79,7 @@ namespace sprout {
;
}
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
sort_part_l(
Container const& cont,
typename sprout::container_traits<Container>::difference_type start,
@ -93,7 +93,7 @@ namespace sprout {
;
}
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
sort_part_r(
Container const& cont,
typename sprout::container_traits<Container>::difference_type end,
@ -107,7 +107,7 @@ namespace sprout {
;
}
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
sort_part_lr(
Container const& cont,
typename sprout::container_traits<Container>::difference_type start,
@ -125,7 +125,7 @@ namespace sprout {
);
}
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
sort_next(
Container const& cont,
typename sprout::container_traits<Container>::difference_type start,
@ -154,7 +154,7 @@ namespace sprout {
;
}
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
sort_lr(
Container const& cont,
typename sprout::container_traits<Container>::difference_type start,
@ -176,7 +176,7 @@ namespace sprout {
);
}
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
sort_start(
Container const& cont,
typename sprout::container_traits<Container>::difference_type start,
@ -197,7 +197,7 @@ namespace sprout {
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename std::enable_if<
(sprout::container_traits<Container>::static_size <= 1),
typename sprout::fixed::result_of::algorithm<Container>::type
typename sprout::fixed::results::algorithm<Container>::type
>::type
sort(Container const& cont, Compare comp) {
return sprout::deep_copy(cont);
@ -205,7 +205,7 @@ namespace sprout {
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename std::enable_if<
(sprout::container_traits<Container>::static_size > 1),
typename sprout::fixed::result_of::algorithm<Container>::type
typename sprout::fixed::results::algorithm<Container>::type
>::type
sort(Container const& cont, Compare comp) {
return sprout::fixed::detail::sort_start(
@ -218,7 +218,7 @@ namespace sprout {
template<typename Container>
inline SPROUT_CONSTEXPR typename std::enable_if<
(sprout::container_traits<Container>::static_size <= 1),
typename sprout::fixed::result_of::algorithm<Container>::type
typename sprout::fixed::results::algorithm<Container>::type
>::type
sort(Container const& cont) {
return sprout::deep_copy(cont);
@ -226,7 +226,7 @@ namespace sprout {
template<typename Container>
inline SPROUT_CONSTEXPR typename std::enable_if<
(sprout::container_traits<Container>::static_size > 1),
typename sprout::fixed::result_of::algorithm<Container>::type
typename sprout::fixed::results::algorithm<Container>::type
>::type
sort(Container const& cont) {
return sprout::fixed::detail::sort_start(
@ -242,12 +242,12 @@ namespace sprout {
// sort
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
sort(Container const& cont, Compare comp) {
return sprout::fixed::detail::sort(cont, comp);
}
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
sort(Container const& cont) {
return sprout::fixed::detail::sort(cont);
}

View file

@ -14,14 +14,14 @@
#include <sprout/container/functions.hpp>
#include <sprout/iterator/operation.hpp>
#include <sprout/iterator/value_iterator.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/pit/pit.hpp>
namespace sprout {
namespace fixed {
namespace detail {
template<typename Container, typename T, sprout::index_t... Indexes>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
fill_impl(
Container const& cont, T const& value,
sprout::index_tuple<Indexes...>,
@ -41,7 +41,7 @@ namespace sprout {
template<typename Container, typename T>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::is_fixed_container<Container>::value,
typename sprout::fixed::result_of::algorithm<Container>::type
typename sprout::fixed::results::algorithm<Container>::type
>::type
fill(Container const& cont, T const& value) {
return sprout::fixed::detail::fill_impl(
@ -55,7 +55,7 @@ namespace sprout {
template<typename Container, typename T>
inline SPROUT_CONSTEXPR typename std::enable_if<
!sprout::is_fixed_container<Container>::value,
typename sprout::fixed::result_of::algorithm<Container>::type
typename sprout::fixed::results::algorithm<Container>::type
>::type
fill(Container const& cont, T const& value) {
return sprout::remake<Container>(
@ -69,13 +69,13 @@ namespace sprout {
// fill
//
template<typename Container, typename T>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
fill(Container const& cont, T const& value) {
return sprout::fixed::detail::fill(cont, value);
}
template<typename Container, typename T>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
fill(T const& value) {
return sprout::fixed::fill(sprout::pit<Container>(), value);
}

View file

@ -16,7 +16,7 @@
#include <sprout/iterator/value_iterator.hpp>
#include <sprout/iterator/type_traits/is_iterator_of.hpp>
#include <sprout/type_traits/enabler_if.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/fill.hpp>
#include <sprout/pit/pit.hpp>
@ -26,7 +26,7 @@ namespace sprout {
template<typename Container, typename Size, typename T>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::is_fixed_container<Container>::value,
typename sprout::fixed::result_of::algorithm<Container>::type
typename sprout::fixed::results::algorithm<Container>::type
>::type
fill_n(Container const& cont, Size n, T const& value) {
return sprout::fixed::detail::fill_impl(
@ -40,7 +40,7 @@ namespace sprout {
template<typename Container, typename Size, typename T>
inline SPROUT_CONSTEXPR typename std::enable_if<
!sprout::is_fixed_container<Container>::value,
typename sprout::fixed::result_of::algorithm<Container>::type
typename sprout::fixed::results::algorithm<Container>::type
>::type
fill_n(Container const& cont, Size n, T const& value) {
return sprout::remake<Container>(
@ -54,13 +54,13 @@ namespace sprout {
// fill_n
//
template<typename Container, typename Size, typename T>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
fill_n(Container const& cont, Size n, T const& value) {
return sprout::fixed::detail::fill_n(cont, n, value);
}
template<typename Container, typename Size, typename T>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
fill_n(Size n, T const& value) {
return sprout::fixed::fill_n(sprout::pit<Container>(), n, value);
}
@ -70,13 +70,13 @@ namespace sprout {
typename Container, typename Size, typename T,
typename sprout::enabler_if<!sprout::is_iterator_outputable<Container>::value>::type = sprout::enabler
>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
fill_n(Container const& cont, Size n, T const& value) {
return sprout::fixed::fill_n(cont, n, value);
}
template<typename Container, typename Size, typename T>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
fill_n(Size n, T const& value) {
return sprout::fixed::fill_n<Container>(n, value);
}

View file

@ -12,7 +12,7 @@
#include <sprout/config.hpp>
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/generator/functions.hpp>
#include <sprout/pit/pit.hpp>
#include <sprout/detail/container_complate.hpp>
@ -23,7 +23,7 @@ namespace sprout {
template<typename Container, typename Next, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Container>::static_size == sizeof...(Args) + 1,
typename sprout::fixed::result_of::algorithm<Container>::type
typename sprout::fixed::results::algorithm<Container>::type
>::type
generate_impl_1(
Container const& cont, Next const& next,
@ -36,7 +36,7 @@ namespace sprout {
template<typename Container, typename Next, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Container>::static_size != sizeof...(Args) + 1,
typename sprout::fixed::result_of::algorithm<Container>::type
typename sprout::fixed::results::algorithm<Container>::type
>::type
generate_impl_1(
Container const& cont, Next const& next,
@ -55,7 +55,7 @@ namespace sprout {
template<typename Container, typename Generator>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Container>::static_size == 0,
typename sprout::fixed::result_of::algorithm<Container>::type
typename sprout::fixed::results::algorithm<Container>::type
>::type
generate_impl(
Container const& cont, Generator const&,
@ -67,7 +67,7 @@ namespace sprout {
template<typename Container, typename Generator>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Container>::static_size != 0,
typename sprout::fixed::result_of::algorithm<Container>::type
typename sprout::fixed::results::algorithm<Container>::type
>::type
generate_impl(
Container const& cont, Generator const& gen,
@ -84,13 +84,13 @@ namespace sprout {
// generate
//
template<typename Container, typename Generator>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
generate(Container const& cont, Generator const& gen) {
return sprout::fixed::detail::generate_impl(cont, gen, sprout::size(cont));
}
template<typename Container, typename Generator>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
generate(Generator const& gen) {
return sprout::fixed::generate(sprout::pit<Container>(), gen);
}

View file

@ -10,7 +10,7 @@
#include <sprout/config.hpp>
#include <sprout/container/traits.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/generate.hpp>
#include <sprout/pit/pit.hpp>
@ -20,13 +20,13 @@ namespace sprout {
// generate_n
//
template<typename Container, typename Size, typename Generator>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
generate_n(Container const& cont, Size n, Generator const& gen) {
return sprout::fixed::detail::generate_impl(cont, gen, n);
}
template<typename Container, typename Size, typename Generator>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
generate_n(Size n, Generator const& gen) {
return sprout::fixed::generate_n(sprout::pit<Container>(), n, gen);
}
@ -36,13 +36,13 @@ namespace sprout {
typename Container, typename Size, typename Generator,
typename sprout::enabler_if<!sprout::is_iterator_outputable<Container>::value>::type = sprout::enabler
>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
generate_n(Container const& cont, Size n, Generator const& gen) {
return sprout::fixed::generate_n(cont, n, gen);
}
template<typename Container, typename Size, typename Generator>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
generate_n(Size n, Generator const& gen) {
return sprout::fixed::generate_n<Container>(n, gen);
}

View file

@ -11,7 +11,7 @@
#include <sprout/config.hpp>
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/merge.hpp>
namespace sprout {
@ -20,7 +20,7 @@ namespace sprout {
// inplace_merge
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
inplace_merge(Container const& cont, typename sprout::container_traits<Container>::const_iterator middle, Compare comp) {
return sprout::fixed::merge(
sprout::begin(cont), middle,
@ -32,7 +32,7 @@ namespace sprout {
// inplace_merge
//
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
inplace_merge(Container const& cont, typename sprout::container_traits<Container>::const_iterator middle) {
return sprout::fixed::merge(
sprout::begin(cont), middle,

View file

@ -13,7 +13,7 @@
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/swap_element.hpp>
#include <sprout/iterator/operation.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT
#ifdef SPROUT_WORKAROUND_NOT_TERMINATE_RECURSIVE_CONSTEXPR_FUNCTION_TEMPLATE
# include <sprout/workaround/recursive_function_template.hpp>
@ -24,7 +24,7 @@ namespace sprout {
namespace detail {
#ifdef SPROUT_WORKAROUND_NOT_TERMINATE_RECURSIVE_CONSTEXPR_FUNCTION_TEMPLATE
template<int D = 16, typename Container, typename Compare, SPROUT_RECURSIVE_FUNCTION_TEMPLATE_CONTINUE(D)>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
make_heap_impl(
Container const& cont, Compare comp,
typename sprout::container_traits<Container>::difference_type offset,
@ -34,7 +34,7 @@ namespace sprout {
typename sprout::container_traits<Container>::difference_type r = 2
);
template<int D = 16, typename Container, typename Compare, SPROUT_RECURSIVE_FUNCTION_TEMPLATE_BREAK(D)>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
make_heap_impl(
Container const& cont, Compare comp,
typename sprout::container_traits<Container>::difference_type offset,
@ -44,7 +44,7 @@ namespace sprout {
typename sprout::container_traits<Container>::difference_type r = 2
);
template<int D, typename Container, typename Compare, SPROUT_RECURSIVE_FUNCTION_TEMPLATE_CONTINUE(D)>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
make_heap_impl_1(
Container const& cont, Compare comp,
typename sprout::container_traits<Container>::difference_type offset,
@ -80,7 +80,7 @@ namespace sprout {
;
}
template<int D, typename Container, typename Compare, SPROUT_RECURSIVE_FUNCTION_TEMPLATE_BREAK(D)>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
make_heap_impl_1(
Container const&, Compare,
typename sprout::container_traits<Container>::difference_type,
@ -93,7 +93,7 @@ namespace sprout {
return sprout::throw_recursive_function_template_instantiation_exeeded();
}
template<int D, typename Container, typename Compare, SPROUT_RECURSIVE_FUNCTION_TEMPLATE_CONTINUE_DECL(D)>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
make_heap_impl(
Container const& cont, Compare comp,
typename sprout::container_traits<Container>::difference_type offset,
@ -126,7 +126,7 @@ namespace sprout {
;
}
template<int D, typename Container, typename Compare, SPROUT_RECURSIVE_FUNCTION_TEMPLATE_BREAK_DECL(D)>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
make_heap_impl(
Container const&, Compare,
typename sprout::container_traits<Container>::difference_type,
@ -140,7 +140,7 @@ namespace sprout {
}
#else
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
make_heap_impl(
Container const& cont, Compare comp,
typename sprout::container_traits<Container>::difference_type offset,
@ -150,7 +150,7 @@ namespace sprout {
typename sprout::container_traits<Container>::difference_type r = 2
);
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
make_heap_impl_1(
Container const& cont, Compare comp,
typename sprout::container_traits<Container>::difference_type offset,
@ -186,7 +186,7 @@ namespace sprout {
;
}
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
make_heap_impl(
Container const& cont, Compare comp,
typename sprout::container_traits<Container>::difference_type offset,
@ -224,7 +224,7 @@ namespace sprout {
// make_heap
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
make_heap(Container const& cont, Compare comp) {
return sprout::fixed::detail::make_heap_impl(
cont, comp,
@ -233,7 +233,7 @@ namespace sprout {
);
}
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
make_heap(Container const& cont) {
return sprout::fixed::detail::make_heap_impl(
cont, NS_SSCRISK_CEL_OR_SPROUT::less<typename sprout::container_traits<Container>::value_type>(),

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/iterator/operation.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/swap_element.hpp>
#include <sprout/algorithm/fixed/pop_heap.hpp>
#include <sprout/algorithm/fixed/make_heap.hpp>
@ -22,7 +22,7 @@ namespace sprout {
namespace fixed {
namespace detail {
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
make_partial_heap_impl_1(
Container const& cont, Compare comp,
typename sprout::container_traits<Container>::difference_type offset,
@ -51,7 +51,7 @@ namespace sprout {
;
}
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
make_partial_heap_impl(
Container const& cont, Compare comp,
typename sprout::container_traits<Container>::difference_type offset,
@ -69,7 +69,7 @@ namespace sprout {
// make_partial_heap
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
make_partial_heap(Container const& cont, typename sprout::container_traits<Container>::const_iterator middle, Compare comp) {
return sprout::fixed::detail::make_partial_heap_impl(
cont, comp,
@ -82,7 +82,7 @@ namespace sprout {
// make_partial_heap
//
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
make_partial_heap(Container const& cont, typename sprout::container_traits<Container>::const_iterator middle) {
return sprout::fixed::detail::make_partial_heap_impl(
cont, NS_SSCRISK_CEL_OR_SPROUT::less<typename sprout::container_traits<Container>::value_type>(),

View file

@ -15,7 +15,7 @@
#include <sprout/iterator/operation.hpp>
#include <sprout/iterator/merge_iterator.hpp>
#include <sprout/functional/less.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/pit/pit.hpp>
#include <sprout/detail/container_complate.hpp>
@ -25,7 +25,7 @@ namespace sprout {
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
merge_impl(
InputIterator1, InputIterator1,
@ -40,7 +40,7 @@ namespace sprout {
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
merge_impl(
InputIterator1 first1, InputIterator1 last1,
@ -79,7 +79,7 @@ namespace sprout {
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::is_fixed_container<Result>::value,
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
merge(
InputIterator1 first1, InputIterator1 last1,
@ -98,7 +98,7 @@ namespace sprout {
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
inline SPROUT_CONSTEXPR typename std::enable_if<
!sprout::is_fixed_container<Result>::value,
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
merge(
InputIterator1 first1, InputIterator1 last1,
@ -117,7 +117,7 @@ namespace sprout {
// merge
//
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
merge(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
@ -127,7 +127,7 @@ namespace sprout {
return sprout::fixed::detail::merge(first1, last1, first2, last2, result, comp);
}
template<typename InputIterator1, typename InputIterator2, typename Result>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
merge(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
@ -138,7 +138,7 @@ namespace sprout {
}
template<typename Result, typename InputIterator1, typename InputIterator2, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
merge(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
@ -148,7 +148,7 @@ namespace sprout {
return sprout::fixed::merge(first1, last1, first2, last2, sprout::pit<Result>(), comp);
}
template<typename Result, typename InputIterator1, typename InputIterator2>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
merge(
InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/iterator/operation.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/swap_element.hpp>
#include <sprout/algorithm/fixed/reverse_copy.hpp>
#include <sprout/algorithm/fixed/reverse.hpp>
@ -92,18 +92,18 @@ namespace sprout {
// next_permutation
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fixed::result_of::algorithm<Container>::type, bool>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fixed::results::algorithm<Container>::type, bool>
next_permutation(Container const& cont, Compare comp) {
typedef sprout::pair<typename sprout::fixed::result_of::algorithm<Container>::type, bool> type;
typedef sprout::pair<typename sprout::fixed::results::algorithm<Container>::type, bool> type;
return sprout::fixed::detail::next_permutation_impl<type>(
cont, comp,
sprout::begin(cont), sprout::end(cont)
);
}
template<typename Container>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fixed::result_of::algorithm<Container>::type, bool>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fixed::results::algorithm<Container>::type, bool>
next_permutation(Container const& cont) {
typedef sprout::pair<typename sprout::fixed::result_of::algorithm<Container>::type, bool> type;
typedef sprout::pair<typename sprout::fixed::results::algorithm<Container>::type, bool> type;
return sprout::fixed::detail::next_permutation_impl<type>(
cont, NS_SSCRISK_CEL_OR_SPROUT::less<typename sprout::container_traits<Container>::value_type>(),
sprout::begin(cont), sprout::end(cont)

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/iterator/operation.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/swap_element.hpp>
#include <sprout/algorithm/fixed/make_partial_heap.hpp>
#include HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT
@ -21,7 +21,7 @@ namespace sprout {
namespace fixed {
namespace detail {
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
nth_element_impl_1(
Container const& cont,
typename sprout::container_traits<Container>::difference_type offset,
@ -35,7 +35,7 @@ namespace sprout {
);
}
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
nth_element_impl(
Container const& cont, Compare comp,
typename sprout::container_traits<Container>::difference_type offset,
@ -54,7 +54,7 @@ namespace sprout {
// nth_element
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
nth_element(Container const& cont, typename sprout::container_traits<Container>::const_iterator nth, Compare comp) {
return sprout::fixed::detail::nth_element_impl(
cont, comp,
@ -64,7 +64,7 @@ namespace sprout {
);
}
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
nth_element(Container const& cont, typename sprout::container_traits<Container>::const_iterator nth) {
return sprout::fixed::detail::nth_element_impl(
cont, NS_SSCRISK_CEL_OR_SPROUT::less<typename sprout::container_traits<Container>::value_type>(),

View file

@ -11,7 +11,7 @@
#include <sprout/config.hpp>
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/make_partial_heap.hpp>
#include <sprout/algorithm/fixed/sort_heap.hpp>
#include HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT
@ -21,7 +21,7 @@ namespace sprout {
namespace fixed {
namespace detail {
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
partial_sort_impl(
Container const& cont, Compare comp,
typename sprout::container_traits<Container>::difference_type offset,
@ -39,7 +39,7 @@ namespace sprout {
// partial_sort
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
partial_sort(Container const& cont, typename sprout::container_traits<Container>::const_iterator middle, Compare comp) {
return sprout::fixed::detail::partial_sort_impl(
cont, comp,
@ -49,7 +49,7 @@ namespace sprout {
);
}
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
partial_sort(Container const& cont, typename sprout::container_traits<Container>::const_iterator middle) {
return sprout::fixed::detail::partial_sort_impl(
cont, NS_SSCRISK_CEL_OR_SPROUT::less<typename sprout::container_traits<Container>::value_type>(),

View file

@ -11,7 +11,7 @@
#include <sprout/config.hpp>
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/partition_copy.hpp>
namespace sprout {
@ -20,7 +20,7 @@ namespace sprout {
// partition
//
template<typename Container, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
partition(Container const& cont, Predicate pred) {
return sprout::fixed::partition_copy(sprout::begin(cont), sprout::end(cont), cont, pred);
}

View file

@ -13,7 +13,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/iterator/operation.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/pit/pit.hpp>
#include <sprout/detail/container_complate.hpp>
@ -23,7 +23,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename Predicate, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
partition_copy_impl(
InputIterator, InputIterator, Result const& result, Predicate,
@ -36,7 +36,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename Predicate, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
partition_copy_impl(
InputIterator first, InputIterator last, Result const& result, Predicate pred,
@ -56,13 +56,13 @@ namespace sprout {
// partition_copy
//
template<typename InputIterator, typename Result, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
partition_copy(InputIterator first, InputIterator last, Result const& result, Predicate pred) {
return sprout::fixed::detail::partition_copy_impl(first, last, result, pred, sprout::size(result));
}
template<typename Result, typename InputIterator, typename Predicate>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
partition_copy(InputIterator first, InputIterator last, Predicate pred) {
return sprout::fixed::partition_copy(first, last, sprout::pit<Result>(), pred);
}

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/iterator/operation.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/swap_element.hpp>
#include HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT
@ -20,7 +20,7 @@ namespace sprout {
namespace fixed {
namespace detail {
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
pop_heap_impl(
Container const& cont,
Compare comp,
@ -72,7 +72,7 @@ namespace sprout {
// pop_heap
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
pop_heap(Container const& cont, Compare comp) {
return sprout::fixed::detail::pop_heap_impl(
sprout::fixed::swap_element(cont, sprout::begin(cont), sprout::end(cont) - 1),
@ -82,7 +82,7 @@ namespace sprout {
);
}
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
pop_heap(Container const& cont) {
return sprout::fixed::detail::pop_heap_impl(
sprout::fixed::swap_element(cont, sprout::begin(cont), sprout::end(cont) - 1),

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/iterator/operation.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/swap_element.hpp>
#include <sprout/algorithm/fixed/reverse_copy.hpp>
#include <sprout/algorithm/fixed/reverse.hpp>
@ -92,9 +92,9 @@ namespace sprout {
// prev_permutation
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fixed::result_of::algorithm<Container>::type, bool>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fixed::results::algorithm<Container>::type, bool>
prev_permutation(Container const& cont, Compare comp) {
typedef sprout::pair<typename sprout::fixed::result_of::algorithm<Container>::type, bool> type;
typedef sprout::pair<typename sprout::fixed::results::algorithm<Container>::type, bool> type;
return sprout::fixed::detail::prev_permutation_impl<type>(
cont, comp,
sprout::begin(cont), sprout::end(cont)
@ -104,9 +104,9 @@ namespace sprout {
// prev_permutation
//
template<typename Container>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fixed::result_of::algorithm<Container>::type, bool>
inline SPROUT_CONSTEXPR sprout::pair<typename sprout::fixed::results::algorithm<Container>::type, bool>
prev_permutation(Container const& cont) {
typedef sprout::pair<typename sprout::fixed::result_of::algorithm<Container>::type, bool> type;
typedef sprout::pair<typename sprout::fixed::results::algorithm<Container>::type, bool> type;
return sprout::fixed::detail::prev_permutation_impl<type>(
cont, NS_SSCRISK_CEL_OR_SPROUT::less<typename sprout::container_traits<Container>::value_type>(),
sprout::begin(cont), sprout::end(cont)

View file

@ -12,7 +12,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/iterator/operation.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/swap_element.hpp>
#include HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT
@ -20,7 +20,7 @@ namespace sprout {
namespace fixed {
namespace detail {
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
push_heap_impl(
Container const& cont, Compare comp,
typename sprout::container_traits<Container>::difference_type offset,
@ -50,7 +50,7 @@ namespace sprout {
// push_heap
//
template<typename Container, typename Compare>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
push_heap(Container const& cont, Compare comp) {
return sprout::fixed::detail::push_heap_impl(
cont, comp,
@ -59,7 +59,7 @@ namespace sprout {
);
}
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
push_heap(Container const& cont) {
return sprout::fixed::detail::push_heap_impl(
cont, NS_SSCRISK_CEL_OR_SPROUT::less<typename sprout::container_traits<Container>::value_type>(),

View file

@ -16,7 +16,7 @@
#include <sprout/iterator/operation.hpp>
#include <sprout/utility/forward.hpp>
#include <sprout/utility/pair/pair.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/swap_element.hpp>
#include <sprout/workaround/detail/uniform_int_distribution.hpp>
@ -49,7 +49,7 @@ namespace sprout {
;
}
template<typename Container, typename RandomSwapped>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
random_swap_impl_1(Container const& cont, RandomSwapped const& random_swapped) {
return random_swapped[0] == random_swapped[1]
? sprout::deep_copy(cont)
@ -61,7 +61,7 @@ namespace sprout {
;
}
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
random_swap_impl(
Container const& cont, UniformRandomNumberGenerator&& g,
typename sprout::container_traits<Container>::size_type size
@ -80,7 +80,7 @@ namespace sprout {
// random_swap
//
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
random_swap(Container const& cont, UniformRandomNumberGenerator&& g) {
return sprout::fixed::detail::random_swap_impl(
cont, sprout::forward<UniformRandomNumberGenerator>(g),

View file

@ -20,7 +20,7 @@
#include <sprout/utility/forward.hpp>
#include <sprout/utility/pair/pair.hpp>
#include <sprout/utility/pair/access.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/swap_element.hpp>
#include <sprout/workaround/detail/uniform_int_distribution.hpp>
@ -61,9 +61,9 @@ namespace sprout {
;
}
template<typename UniformRandomNumberGenerator, typename Container, typename RandomSwapped>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::shuffle<Container, UniformRandomNumberGenerator>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::shuffle<Container, UniformRandomNumberGenerator>::type
random_swap_result_impl_1(Container const& cont, RandomSwapped const& random_swapped) {
typedef typename sprout::fixed::result_of::shuffle<Container, UniformRandomNumberGenerator>::type result_type;
typedef typename sprout::fixed::results::shuffle<Container, UniformRandomNumberGenerator>::type result_type;
return sprout::first(random_swapped)[0] == sprout::first(random_swapped)[1]
? result_type(sprout::deep_copy(cont), sprout::second(random_swapped))
: result_type(
@ -77,7 +77,7 @@ namespace sprout {
;
}
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::shuffle<Container, UniformRandomNumberGenerator>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::shuffle<Container, UniformRandomNumberGenerator>::type
random_swap_result_impl(
Container const& cont, UniformRandomNumberGenerator&& g,
typename sprout::container_traits<Container>::size_type size
@ -96,7 +96,7 @@ namespace sprout {
// random_swap_result
//
template<typename Container, typename UniformRandomNumberGenerator>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::shuffle<Container, UniformRandomNumberGenerator>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::shuffle<Container, UniformRandomNumberGenerator>::type
random_swap_result(Container const& cont, UniformRandomNumberGenerator&& g) {
return sprout::fixed::detail::random_swap_result_impl(
cont, sprout::forward<UniformRandomNumberGenerator>(g),

View file

@ -14,7 +14,7 @@
#include <sprout/container/traits.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/iterator/operation.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/pit/pit.hpp>
#include <sprout/detail/container_complate.hpp>
@ -46,7 +46,7 @@ namespace sprout {
return call_gen<InitSize, Container>(gen, args...);
}
template<typename Container, typename Generator>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
recurrence_impl_drop(
Container const& cont, Generator const&,
typename sprout::container_traits<Container>::size_type
@ -57,7 +57,7 @@ namespace sprout {
template<typename Container, typename Generator, typename Head, typename... Inits>
inline SPROUT_CONSTEXPR typename std::enable_if<
(sprout::container_traits<Container>::static_size >= sizeof...(Inits) + 1),
typename sprout::fixed::result_of::algorithm<Container>::type
typename sprout::fixed::results::algorithm<Container>::type
>::type
recurrence_impl_drop(
Container const& cont, Generator const& gen,
@ -73,7 +73,7 @@ namespace sprout {
template<typename Container, typename Generator, typename Head, typename... Inits>
inline SPROUT_CONSTEXPR typename std::enable_if<
(sprout::container_traits<Container>::static_size < sizeof...(Inits) + 1),
typename sprout::fixed::result_of::algorithm<Container>::type
typename sprout::fixed::results::algorithm<Container>::type
>::type
recurrence_impl_drop(
Container const& cont, Generator const& gen,
@ -86,7 +86,7 @@ namespace sprout {
template<std::size_t InitSize, typename Container, typename Generator, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Container>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Container>::type
typename sprout::fixed::results::algorithm<Container>::type
>::type
recurrence_impl_1(
Container const& cont, Generator const&,
@ -99,7 +99,7 @@ namespace sprout {
template<std::size_t InitSize, typename Container, typename Generator, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Container>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Container>::type
typename sprout::fixed::results::algorithm<Container>::type
>::type
recurrence_impl_1(
Container const& cont, Generator const& gen,
@ -119,7 +119,7 @@ namespace sprout {
template<typename Container, typename Generator, typename... Inits>
inline SPROUT_CONSTEXPR typename std::enable_if<
(sprout::container_traits<Container>::static_size > sizeof...(Inits)),
typename sprout::fixed::result_of::algorithm<Container>::type
typename sprout::fixed::results::algorithm<Container>::type
>::type
recurrence_impl(
Container const& cont, Generator const& gen,
@ -135,7 +135,7 @@ namespace sprout {
template<typename Container, typename Generator, typename... Inits>
inline SPROUT_CONSTEXPR typename std::enable_if<
(sprout::container_traits<Container>::static_size <= sizeof...(Inits)),
typename sprout::fixed::result_of::algorithm<Container>::type
typename sprout::fixed::results::algorithm<Container>::type
>::type
recurrence_impl(
Container const& cont, Generator const& gen,
@ -150,13 +150,13 @@ namespace sprout {
// recurrence
//
template<typename Container, typename Generator, typename... Inits>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
recurrence(Container const& cont, Generator const& gen, Inits const&... inits) {
return sprout::fixed::detail::recurrence_impl(cont, gen, sprout::size(cont), inits...);
}
template<typename Container, typename Generator, typename... Inits>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
recurrence(Generator const& gen, Inits const&... inits) {
return sprout::fixed::recurrence(sprout::pit<Container>(), gen, inits...);
}

View file

@ -10,7 +10,7 @@
#include <sprout/config.hpp>
#include <sprout/container/traits.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/recurrence.hpp>
#include <sprout/pit/pit.hpp>
@ -20,13 +20,13 @@ namespace sprout {
// recurrence_n
//
template<typename Container, typename Size, typename Generator, typename... Inits>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
recurrence_n(Container const& cont, Size n, Generator const& gen, Inits const&... inits) {
return sprout::fixed::detail::recurrence_impl(cont, gen, n, inits...);
}
template<typename Container, typename Size, typename Generator, typename... Inits>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
recurrence_n(Size n, Generator const& gen, Inits const&... inits) {
return sprout::fixed::recurrence_n(sprout::pit<Container>(), n, gen, inits...);
}

View file

@ -10,7 +10,7 @@
#include <sprout/config.hpp>
#include <sprout/container/functions.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/algorithm/fixed/remove_copy.hpp>
namespace sprout {
@ -19,7 +19,7 @@ namespace sprout {
// remove
//
template<typename Container, typename T>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Container>::type
remove(Container const& cont, T const& value) {
return sprout::fixed::remove_copy(sprout::begin(cont), sprout::end(cont), cont, value);
}

View file

@ -16,7 +16,7 @@
#include <sprout/iterator/remove_iterator.hpp>
#include <sprout/iterator/type_traits/is_iterator_of.hpp>
#include <sprout/type_traits/enabler_if.hpp>
#include <sprout/algorithm/fixed/result_of.hpp>
#include <sprout/algorithm/fixed/results.hpp>
#include <sprout/pit/pit.hpp>
#include <sprout/detail/container_complate.hpp>
@ -26,7 +26,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename T, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
remove_copy_impl(
InputIterator, InputIterator,
@ -40,7 +40,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename T, typename... Args>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
remove_copy_impl(
InputIterator first, InputIterator last,
@ -60,7 +60,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename T>
inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::is_fixed_container<Result>::value,
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
remove_copy(InputIterator first, InputIterator last, Result const& result, T const& value) {
return sprout::fixed::detail::remove_copy_impl(first, last, result, value, sprout::size(result));
@ -69,7 +69,7 @@ namespace sprout {
template<typename InputIterator, typename Result, typename T>
inline SPROUT_CONSTEXPR typename std::enable_if<
!sprout::is_fixed_container<Result>::value,
typename sprout::fixed::result_of::algorithm<Result>::type
typename sprout::fixed::results::algorithm<Result>::type
>::type
remove_copy(InputIterator first, InputIterator last, Result const& result, T const& value) {
return sprout::remake<Result>(
@ -83,13 +83,13 @@ namespace sprout {
// remove_copy
//
template<typename InputIterator, typename Result, typename T>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
remove_copy(InputIterator first, InputIterator last, Result const& result, T const& value) {
return sprout::fixed::detail::remove_copy(first, last, result, value);
}
template<typename Result, typename InputIterator, typename T>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
remove_copy(InputIterator first, InputIterator last, T const& value) {
return sprout::fixed::remove_copy(first, last, sprout::pit<Result>(), value);
}
@ -99,13 +99,13 @@ namespace sprout {
typename InputIterator, typename Result, typename T,
typename sprout::enabler_if<!sprout::is_iterator_outputable<Result>::value>::type = sprout::enabler
>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
remove_copy(InputIterator first, InputIterator last, Result const& result, T const& value) {
return sprout::fixed::remove_copy(first, last, result, value);
}
template<typename Result, typename InputIterator, typename T>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::algorithm<Result>::type
remove_copy(InputIterator first, InputIterator last, T const& value) {
return sprout::fixed::remove_copy<Result>(first, last, value);
}

Some files were not shown because too many files have changed in this diff Show more