fix inline

add container/indexes.hpp
add tuple/indexes.hpp
This commit is contained in:
bolero-MURAKAMI 2012-04-04 22:23:41 +09:00
parent ba6482d1ec
commit c6bd230ee4
340 changed files with 1087 additions and 979 deletions

View file

@ -31,11 +31,11 @@ namespace sprout {
// begin // begin
// //
template<typename T, std::size_t N> template<typename T, std::size_t N>
typename sprout::container_traits<sscrisk::cel::array<T, N> >::iterator begin(sscrisk::cel::array<T, N>& cont) { inline typename sprout::container_traits<sscrisk::cel::array<T, N> >::iterator begin(sscrisk::cel::array<T, N>& cont) {
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::iterator(cont, 0); return typename sprout::container_traits<sscrisk::cel::array<T, N> >::iterator(cont, 0);
} }
template<typename T, std::size_t N> template<typename T, std::size_t N>
SPROUT_CONSTEXPR typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator begin(sscrisk::cel::array<T, N> const& cont) { inline SPROUT_CONSTEXPR typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator begin(sscrisk::cel::array<T, N> const& cont) {
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator(cont, 0); return typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator(cont, 0);
} }
@ -43,7 +43,7 @@ namespace sprout {
// cbegin // cbegin
// //
template<typename T, std::size_t N> template<typename T, std::size_t N>
SPROUT_CONSTEXPR typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator cbegin(sscrisk::cel::array<T, N> const& cont) { inline SPROUT_CONSTEXPR typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator cbegin(sscrisk::cel::array<T, N> const& cont) {
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator(cont, 0); return typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator(cont, 0);
} }
@ -51,11 +51,11 @@ namespace sprout {
// end // end
// //
template<typename T, std::size_t N> template<typename T, std::size_t N>
typename sprout::container_traits<sscrisk::cel::array<T, N> >::iterator end(sscrisk::cel::array<T, N>& cont) { inline typename sprout::container_traits<sscrisk::cel::array<T, N> >::iterator end(sscrisk::cel::array<T, N>& cont) {
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::iterator(cont, cont.size()); return typename sprout::container_traits<sscrisk::cel::array<T, N> >::iterator(cont, cont.size());
} }
template<typename T, std::size_t N> template<typename T, std::size_t N>
SPROUT_CONSTEXPR typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator end(sscrisk::cel::array<T, N> const& cont) { inline SPROUT_CONSTEXPR typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator end(sscrisk::cel::array<T, N> const& cont) {
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator(cont, cont.size()); return typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator(cont, cont.size());
} }
@ -63,7 +63,7 @@ namespace sprout {
// cend // cend
// //
template<typename T, std::size_t N> template<typename T, std::size_t N>
SPROUT_CONSTEXPR typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator cend(sscrisk::cel::array<T, N> const& cont) { inline SPROUT_CONSTEXPR typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator cend(sscrisk::cel::array<T, N> const& cont) {
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator(cont, cont.size()); return typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator(cont, cont.size());
} }
#endif #endif

View file

@ -11,7 +11,7 @@ namespace sprout {
// 25.2.8 Adjacent find // 25.2.8 Adjacent find
template<typename ForwardIterator, typename BinaryPredicate> template<typename ForwardIterator, typename BinaryPredicate>
SPROUT_CONSTEXPR ForwardIterator adjacent_find(ForwardIterator first, ForwardIterator last, BinaryPredicate pred) { inline SPROUT_CONSTEXPR ForwardIterator adjacent_find(ForwardIterator first, ForwardIterator last, BinaryPredicate pred) {
return first == last || sprout::next(first) == last ? last return first == last || sprout::next(first) == last ? last
: pred(*first, *(sprout::next(first))) != false ? first : pred(*first, *(sprout::next(first))) != false ? first
: sprout::adjacent_find(sprout::next(first), last, pred) : sprout::adjacent_find(sprout::next(first), last, pred)
@ -19,7 +19,7 @@ namespace sprout {
} }
template<typename ForwardIterator> template<typename ForwardIterator>
SPROUT_CONSTEXPR ForwardIterator adjacent_find(ForwardIterator first, ForwardIterator last) { inline SPROUT_CONSTEXPR ForwardIterator adjacent_find(ForwardIterator first, ForwardIterator last) {
return sprout::adjacent_find( return sprout::adjacent_find(
first, first,
last, last,

View file

@ -9,7 +9,7 @@ namespace sprout {
// 25.2.1 All of // 25.2.1 All of
template<typename InputIterator, typename Predicate> template<typename InputIterator, typename Predicate>
SPROUT_CONSTEXPR bool all_of(InputIterator first, InputIterator last, Predicate pred) { inline SPROUT_CONSTEXPR bool all_of(InputIterator first, InputIterator last, Predicate pred) {
return first == last ? true return first == last ? true
: pred(*first) == true && sprout::all_of(sprout::next(first), last, pred) : pred(*first) == true && sprout::all_of(sprout::next(first), last, pred)
; ;

View file

@ -9,7 +9,7 @@ namespace sprout {
// 25.2.2 Any of // 25.2.2 Any of
template<typename InputIterator, typename Predicate> template<typename InputIterator, typename Predicate>
SPROUT_CONSTEXPR bool any_of(InputIterator first, InputIterator last, Predicate pred) { inline SPROUT_CONSTEXPR bool any_of(InputIterator first, InputIterator last, Predicate pred) {
return first == last ? false return first == last ? false
: pred(*first) == true || sprout::any_of(sprout::next(first), last, pred) : pred(*first) == true || sprout::any_of(sprout::next(first), last, pred)
; ;

View file

@ -10,7 +10,7 @@ namespace sprout {
// 25.4.3.4 binary_search // 25.4.3.4 binary_search
template<typename ForwardIterator, typename T> template<typename ForwardIterator, typename T>
SPROUT_CONSTEXPR bool binary_search(ForwardIterator first, ForwardIterator last, T const& value) { inline SPROUT_CONSTEXPR bool binary_search(ForwardIterator first, ForwardIterator last, T const& value) {
return first == last ? false return first == last ? false
: sprout::next(first) == last ? !(*first < value) && !(value < *first) ? true : false : sprout::next(first) == last ? !(*first < value) && !(value < *first) ? true : false
: *sprout::next(first, NS_SSCRISK_CEL_OR_SPROUT::distance(first, last) / 2) < value : *sprout::next(first, NS_SSCRISK_CEL_OR_SPROUT::distance(first, last) / 2) < value
@ -22,7 +22,7 @@ namespace sprout {
} }
template<typename ForwardIterator, typename T, typename Compare> template<typename ForwardIterator, typename T, typename Compare>
SPROUT_CONSTEXPR bool binary_search(ForwardIterator first, ForwardIterator last, T const& value, Compare comp) { inline SPROUT_CONSTEXPR bool binary_search(ForwardIterator first, ForwardIterator last, T const& value, Compare comp) {
return first == last ? false return first == last ? false
: sprout::next(first) == last ? !comp(*first, value) && !comp(value, *first) ? true : false : sprout::next(first) == last ? !comp(*first, value) && !comp(value, *first) ? true : false
: comp(*sprout::next(first, NS_SSCRISK_CEL_OR_SPROUT::distance(first, last) / 2), value) : comp(*sprout::next(first, NS_SSCRISK_CEL_OR_SPROUT::distance(first, last) / 2), value)

View file

@ -10,7 +10,7 @@ namespace sprout {
// 25.2.9 Count // 25.2.9 Count
template<typename InputIterator, typename T> template<typename InputIterator, typename T>
SPROUT_CONSTEXPR typename std::iterator_traits<InputIterator>::difference_type inline SPROUT_CONSTEXPR typename std::iterator_traits<InputIterator>::difference_type
count(InputIterator first, InputIterator last, T const& value) { count(InputIterator first, InputIterator last, T const& value) {
return first == last ? 0 return first == last ? 0
: (*first == value ? 1 : 0) + sprout::count(sprout::next(first), last, value) : (*first == value ? 1 : 0) + sprout::count(sprout::next(first), last, value)

View file

@ -10,7 +10,7 @@ namespace sprout {
// 25.2.9 Count // 25.2.9 Count
template<typename InputIterator, typename Predicate> template<typename InputIterator, typename Predicate>
SPROUT_CONSTEXPR typename std::iterator_traits<InputIterator>::difference_type inline SPROUT_CONSTEXPR typename std::iterator_traits<InputIterator>::difference_type
count_if(InputIterator first, InputIterator last, Predicate pred) { count_if(InputIterator first, InputIterator last, Predicate pred) {
return first == last ? 0 return first == last ? 0
: (pred(*first) != false ? 1 : 0) + sprout::count_if(sprout::next(first), last, pred) : (pred(*first) != false ? 1 : 0) + sprout::count_if(sprout::next(first), last, pred)

View file

@ -9,7 +9,7 @@ namespace sprout {
// 25.2.11 Equal // 25.2.11 Equal
template<typename InputIterator1, typename InputIterator2> template<typename InputIterator1, typename InputIterator2>
SPROUT_CONSTEXPR bool equal( inline SPROUT_CONSTEXPR bool equal(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2 InputIterator2 first2
@ -21,7 +21,7 @@ namespace sprout {
} }
template<typename InputIterator1, typename InputIterator2, typename BinaryPredicate> template<typename InputIterator1, typename InputIterator2, typename BinaryPredicate>
SPROUT_CONSTEXPR bool equal( inline SPROUT_CONSTEXPR bool equal(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,

View file

@ -11,7 +11,7 @@ namespace sprout {
// 25.4.3.3 equal_range // 25.4.3.3 equal_range
template<typename ForwardIterator, typename T> template<typename ForwardIterator, typename T>
SPROUT_CONSTEXPR sprout::pair<ForwardIterator, ForwardIterator> equal_range( inline SPROUT_CONSTEXPR sprout::pair<ForwardIterator, ForwardIterator> equal_range(
ForwardIterator first, ForwardIterator first,
ForwardIterator last, ForwardIterator last,
T const& value T const& value
@ -21,7 +21,7 @@ namespace sprout {
} }
template<typename ForwardIterator, typename T, typename Compare> template<typename ForwardIterator, typename T, typename Compare>
SPROUT_CONSTEXPR pair<ForwardIterator, ForwardIterator> equal_range( inline SPROUT_CONSTEXPR pair<ForwardIterator, ForwardIterator> equal_range(
ForwardIterator first, ForwardIterator first,
ForwardIterator last, ForwardIterator last,
T const& value, T const& value,

View file

@ -9,7 +9,7 @@ namespace sprout {
// 25.2.5 Find // 25.2.5 Find
template<typename InputIterator, typename T> template<typename InputIterator, typename T>
SPROUT_CONSTEXPR InputIterator find(InputIterator first, InputIterator last, T const& value) { inline SPROUT_CONSTEXPR InputIterator find(InputIterator first, InputIterator last, T const& value) {
return first == last || *first == value ? first return first == last || *first == value ? first
: sprout::find(sprout::next(first), last, value) : sprout::find(sprout::next(first), last, value)
; ;

View file

@ -24,7 +24,7 @@ namespace sprout {
// 25.2.6 Find end // 25.2.6 Find end
template<typename ForwardIterator1, typename ForwardIterator2, typename BinaryPredicate> template<typename ForwardIterator1, typename ForwardIterator2, typename BinaryPredicate>
SPROUT_CONSTEXPR ForwardIterator1 find_end( inline SPROUT_CONSTEXPR ForwardIterator1 find_end(
ForwardIterator1 first1, ForwardIterator1 first1,
ForwardIterator1 last1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 first2,
@ -41,7 +41,7 @@ namespace sprout {
} }
template<typename ForwardIterator1, typename ForwardIterator2> template<typename ForwardIterator1, typename ForwardIterator2>
SPROUT_CONSTEXPR ForwardIterator1 find_end( inline SPROUT_CONSTEXPR ForwardIterator1 find_end(
ForwardIterator1 first1, ForwardIterator1 first1,
ForwardIterator1 last1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 first2,

View file

@ -10,7 +10,7 @@ namespace sprout {
// 25.2.7 Find first // 25.2.7 Find first
template<typename ForwardIterator1, typename ForwardIterator2, typename BinaryPredicate> template<typename ForwardIterator1, typename ForwardIterator2, typename BinaryPredicate>
SPROUT_CONSTEXPR ForwardIterator1 find_first_of( inline SPROUT_CONSTEXPR ForwardIterator1 find_first_of(
ForwardIterator1 first1, ForwardIterator1 first1,
ForwardIterator1 last1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 first2,
@ -24,7 +24,7 @@ namespace sprout {
} }
template<typename ForwardIterator1, typename ForwardIterator2> template<typename ForwardIterator1, typename ForwardIterator2>
SPROUT_CONSTEXPR ForwardIterator1 find_first_of( inline SPROUT_CONSTEXPR ForwardIterator1 find_first_of(
ForwardIterator1 first1, ForwardIterator1 first1,
ForwardIterator1 last1, ForwardIterator1 last1,
ForwardIterator2 first2, ForwardIterator2 first2,

View file

@ -9,7 +9,7 @@ namespace sprout {
// 25.2.5 Find // 25.2.5 Find
template<typename InputIterator, typename Predicate> template<typename InputIterator, typename Predicate>
SPROUT_CONSTEXPR InputIterator find_if(InputIterator first, InputIterator last, Predicate pred) { inline SPROUT_CONSTEXPR InputIterator find_if(InputIterator first, InputIterator last, Predicate pred) {
return first == last || pred(*first) != false ? first return first == last || pred(*first) != false ? first
: sprout::find_if(sprout::next(first), last, pred) : sprout::find_if(sprout::next(first), last, pred)
; ;

View file

@ -9,7 +9,7 @@ namespace sprout {
// 25.2.5 Find // 25.2.5 Find
template<typename InputIterator, typename Predicate> template<typename InputIterator, typename Predicate>
SPROUT_CONSTEXPR InputIterator find_if_not(InputIterator first, InputIterator last, Predicate pred) inline SPROUT_CONSTEXPR InputIterator find_if_not(InputIterator first, InputIterator last, Predicate pred)
{ {
return first == last || pred(*first) == false ? first return first == last || pred(*first) == false ? first
: sprout::find_if_not(sprout::next(first), last, pred) : sprout::find_if_not(sprout::next(first), last, pred)

View file

@ -12,7 +12,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename UniformRandomNumberGenerator, typename Compare> template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type bogo_sort_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type bogo_sort_impl(
Container const& cont, Container const& cont,
UniformRandomNumberGenerator&& g, UniformRandomNumberGenerator&& g,
Compare comp, Compare comp,
@ -30,7 +30,7 @@ namespace sprout {
// bogo_sort // bogo_sort
// //
template<typename Container, typename UniformRandomNumberGenerator, typename Compare> template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type bogo_sort( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type bogo_sort(
Container const& cont, Container const& cont,
UniformRandomNumberGenerator&& g, UniformRandomNumberGenerator&& g,
Compare comp Compare comp
@ -46,7 +46,7 @@ namespace sprout {
namespace detail { namespace detail {
template<typename Container, typename UniformRandomNumberGenerator> template<typename Container, typename UniformRandomNumberGenerator>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type bogo_sort_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type bogo_sort_impl(
Container const& cont, Container const& cont,
UniformRandomNumberGenerator&& g, UniformRandomNumberGenerator&& g,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
@ -63,7 +63,7 @@ namespace sprout {
// bogo_sort // bogo_sort
// //
template<typename Container, typename UniformRandomNumberGenerator> template<typename Container, typename UniformRandomNumberGenerator>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type bogo_sort( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type bogo_sort(
Container const& cont, Container const& cont,
UniformRandomNumberGenerator&& g UniformRandomNumberGenerator&& g
) )

View file

@ -14,7 +14,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename UniformRandomNumberGenerator, typename Sorted> template<typename Container, typename UniformRandomNumberGenerator, typename Sorted>
SPROUT_CONSTEXPR inline sprout::tuples::tuple< inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type, typename sprout::fit::result_of::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type typename std::decay<UniformRandomNumberGenerator>::type
> bogo_sort_result_impl_1( > bogo_sort_result_impl_1(
@ -36,7 +36,7 @@ namespace sprout {
); );
} }
template<typename Container, typename UniformRandomNumberGenerator, typename Compare> template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
SPROUT_CONSTEXPR inline sprout::tuples::tuple< inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type, typename sprout::fit::result_of::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type typename std::decay<UniformRandomNumberGenerator>::type
> bogo_sort_result_impl( > bogo_sort_result_impl(
@ -56,7 +56,7 @@ namespace sprout {
// bogo_sort_result // bogo_sort_result
// //
template<typename Container, typename UniformRandomNumberGenerator, typename Compare> template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
SPROUT_CONSTEXPR inline sprout::tuples::tuple< inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type, typename sprout::fit::result_of::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type typename std::decay<UniformRandomNumberGenerator>::type
> bogo_sort_result( > bogo_sort_result(
@ -75,7 +75,7 @@ namespace sprout {
namespace detail { namespace detail {
template<typename Container, typename UniformRandomNumberGenerator> template<typename Container, typename UniformRandomNumberGenerator>
SPROUT_CONSTEXPR inline sprout::tuples::tuple< inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type, typename sprout::fit::result_of::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type typename std::decay<UniformRandomNumberGenerator>::type
> bogo_sort_result_impl( > bogo_sort_result_impl(
@ -94,7 +94,7 @@ namespace sprout {
// bogo_sort_result // bogo_sort_result
// //
template<typename Container, typename UniformRandomNumberGenerator> template<typename Container, typename UniformRandomNumberGenerator>
SPROUT_CONSTEXPR inline sprout::tuples::tuple< inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type, typename sprout::fit::result_of::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type typename std::decay<UniformRandomNumberGenerator>::type
> bogo_sort_result( > bogo_sort_result(

View file

@ -14,7 +14,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename InputIterator, typename Result> template<typename InputIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type copy_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type copy_impl(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,
@ -32,7 +32,7 @@ namespace sprout {
// copy // copy
// //
template<typename InputIterator, typename Result> template<typename InputIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type copy( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type copy(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result Result const& result

View file

@ -14,7 +14,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename BidirectionalIterator, typename Result> template<typename BidirectionalIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type copy_backward_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type copy_backward_impl(
BidirectionalIterator first, BidirectionalIterator first,
BidirectionalIterator last, BidirectionalIterator last,
Result const& result, Result const& result,
@ -32,7 +32,7 @@ namespace sprout {
// copy_backward // copy_backward
// //
template<typename BidirectionalIterator, typename Result> template<typename BidirectionalIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type copy_backward( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type copy_backward(
BidirectionalIterator first, BidirectionalIterator first,
BidirectionalIterator last, BidirectionalIterator last,
Result const& result Result const& result

View file

@ -13,7 +13,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename InputIterator, typename Result, typename Predicate> template<typename InputIterator, typename Result, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type copy_if_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type copy_if_impl(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,
@ -32,7 +32,7 @@ namespace sprout {
// copy_if // copy_if
// //
template<typename InputIterator, typename Result, typename Predicate> template<typename InputIterator, typename Result, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type copy_if( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type copy_if(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,

View file

@ -13,7 +13,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename InputIterator, typename Size, typename Result> template<typename InputIterator, typename Size, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type copy_n_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type copy_n_impl(
InputIterator first, InputIterator first,
Size n, Size n,
Result const& result, Result const& result,
@ -31,7 +31,7 @@ namespace sprout {
// copy_n // copy_n
// //
template<typename InputIterator, typename Size, typename Result> template<typename InputIterator, typename Size, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type copy_n( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type copy_n(
InputIterator first, InputIterator first,
Size n, Size n,
Result const& result Result const& result

View file

@ -12,7 +12,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename T> template<typename Container, typename T>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type fill_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type fill_impl(
Container const& cont, Container const& cont,
T const& value, T const& value,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
@ -29,7 +29,7 @@ namespace sprout {
// fill // fill
// //
template<typename Container, typename T> template<typename Container, typename T>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type fill( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type fill(
Container const& cont, Container const& cont,
T const& value T const& value
) )

View file

@ -13,7 +13,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename Size, typename T> template<typename Container, typename Size, typename T>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type fill_n_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type fill_n_impl(
Container const& cont, Container const& cont,
Size n, Size n,
T const& value, T const& value,
@ -31,7 +31,7 @@ namespace sprout {
// fill_n // fill_n
// //
template<typename Container, typename Size, typename T> template<typename Container, typename Size, typename T>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type fill_n( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type fill_n(
Container const& cont, Container const& cont,
Size n, Size n,
T const& value T const& value

View file

@ -12,7 +12,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename Generator, typename... Inits> template<typename Container, typename Generator, typename... Inits>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type generate_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type generate_impl(
Container const& cont, Container const& cont,
Generator gen, Generator gen,
typename sprout::container_traits<Container>::difference_type offset, typename sprout::container_traits<Container>::difference_type offset,
@ -30,7 +30,7 @@ namespace sprout {
// generate // generate
// //
template<typename Container, typename Generator, typename... Inits> template<typename Container, typename Generator, typename... Inits>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type generate( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type generate(
Container const& cont, Container const& cont,
Generator gen, Generator gen,
Inits const&... inits Inits const&... inits

View file

@ -13,7 +13,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename Size, typename Generator, typename... Inits> template<typename Container, typename Size, typename Generator, typename... Inits>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type generate_n_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type generate_n_impl(
Container const& cont, Container const& cont,
Size n, Size n,
Generator gen, Generator gen,
@ -32,7 +32,7 @@ namespace sprout {
// generate_n // generate_n
// //
template<typename Container, typename Size, typename Generator, typename... Inits> template<typename Container, typename Size, typename Generator, typename... Inits>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type generate_n( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type generate_n(
Container const& cont, Container const& cont,
Size n, Size n,
Generator gen, Generator gen,

View file

@ -12,7 +12,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type inplace_merge_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type inplace_merge_impl(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator middle, typename sprout::container_traits<Container>::const_iterator middle,
Compare comp, Compare comp,
@ -30,7 +30,7 @@ namespace sprout {
// inplace_merge // inplace_merge
// //
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type inplace_merge( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type inplace_merge(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator middle, typename sprout::container_traits<Container>::const_iterator middle,
Compare comp Compare comp
@ -41,7 +41,7 @@ namespace sprout {
namespace detail { namespace detail {
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type inplace_merge_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type inplace_merge_impl(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator middle, typename sprout::container_traits<Container>::const_iterator middle,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
@ -58,7 +58,7 @@ namespace sprout {
// inplace_merge // inplace_merge
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type inplace_merge( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type inplace_merge(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator middle typename sprout::container_traits<Container>::const_iterator middle
) )

View file

@ -12,7 +12,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type make_heap_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type make_heap_impl(
Container const& cont, Container const& cont,
Compare comp, Compare comp,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
@ -29,7 +29,7 @@ namespace sprout {
// make_heap // make_heap
// //
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type make_heap( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type make_heap(
Container const& cont, Container const& cont,
Compare comp Compare comp
) )
@ -39,7 +39,7 @@ namespace sprout {
namespace detail { namespace detail {
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type make_heap_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type make_heap_impl(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
) )
@ -55,7 +55,7 @@ namespace sprout {
// make_heap // make_heap
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type make_heap( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type make_heap(
Container const& cont Container const& cont
) )
{ {

View file

@ -13,7 +13,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type make_partial_heap_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type make_partial_heap_impl(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator middle, typename sprout::container_traits<Container>::const_iterator middle,
Compare comp, Compare comp,
@ -31,7 +31,7 @@ namespace sprout {
// make_partial_heap // make_partial_heap
// //
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type make_partial_heap( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type make_partial_heap(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator middle, typename sprout::container_traits<Container>::const_iterator middle,
Compare comp Compare comp
@ -42,7 +42,7 @@ namespace sprout {
namespace detail { namespace detail {
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type make_partial_heap_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type make_partial_heap_impl(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator middle, typename sprout::container_traits<Container>::const_iterator middle,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
@ -59,7 +59,7 @@ namespace sprout {
// make_partial_heap // make_partial_heap
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type make_partial_heap( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type make_partial_heap(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator middle typename sprout::container_traits<Container>::const_iterator middle
) )

View file

@ -14,7 +14,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type merge_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type merge_impl(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,
@ -38,7 +38,7 @@ namespace sprout {
// merge // merge
// //
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type merge( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type merge(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,
@ -52,7 +52,7 @@ namespace sprout {
namespace detail { namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result> template<typename InputIterator1, typename InputIterator2, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type merge_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type merge_impl(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,
@ -75,7 +75,7 @@ namespace sprout {
// merge // merge
// //
template<typename InputIterator1, typename InputIterator2, typename Result> template<typename InputIterator1, typename InputIterator2, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type merge( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type merge(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,

View file

@ -13,7 +13,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type nth_element_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type nth_element_impl(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator nth, typename sprout::container_traits<Container>::const_iterator nth,
Compare comp, Compare comp,
@ -31,7 +31,7 @@ namespace sprout {
// nth_element // nth_element
// //
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type nth_element( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type nth_element(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator nth, typename sprout::container_traits<Container>::const_iterator nth,
Compare comp Compare comp
@ -42,7 +42,7 @@ namespace sprout {
namespace detail { namespace detail {
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type nth_element_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type nth_element_impl(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator nth, typename sprout::container_traits<Container>::const_iterator nth,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
@ -59,7 +59,7 @@ namespace sprout {
// nth_element // nth_element
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type nth_element( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type nth_element(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator nth typename sprout::container_traits<Container>::const_iterator nth
) )

View file

@ -13,7 +13,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type partial_sort_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type partial_sort_impl(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator middle, typename sprout::container_traits<Container>::const_iterator middle,
Compare comp, Compare comp,
@ -31,7 +31,7 @@ namespace sprout {
// partial_sort // partial_sort
// //
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type partial_sort( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type partial_sort(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator middle, typename sprout::container_traits<Container>::const_iterator middle,
Compare comp Compare comp
@ -42,7 +42,7 @@ namespace sprout {
namespace detail { namespace detail {
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type partial_sort_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type partial_sort_impl(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator middle, typename sprout::container_traits<Container>::const_iterator middle,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
@ -59,7 +59,7 @@ namespace sprout {
// partial_sort // partial_sort
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type partial_sort( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type partial_sort(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator middle typename sprout::container_traits<Container>::const_iterator middle
) )

View file

@ -13,7 +13,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename Predicate> template<typename Container, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type partition_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type partition_impl(
Container const& cont, Container const& cont,
Predicate pred, Predicate pred,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
@ -30,7 +30,7 @@ namespace sprout {
// partition // partition
// //
template<typename Container, typename Predicate> template<typename Container, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type partition( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type partition(
Container const& cont, Container const& cont,
Predicate pred Predicate pred
) )

View file

@ -15,7 +15,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename InputIterator, typename Result, typename Predicate> template<typename InputIterator, typename Result, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type partition_copy_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type partition_copy_impl(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,
@ -41,7 +41,7 @@ namespace sprout {
// partition_copy // partition_copy
// //
template<typename InputIterator, typename Result, typename Predicate> template<typename InputIterator, typename Result, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type partition_copy( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type partition_copy(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,

View file

@ -12,7 +12,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type pop_heap_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type pop_heap_impl(
Container const& cont, Container const& cont,
Compare comp, Compare comp,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
@ -29,7 +29,7 @@ namespace sprout {
// pop_heap // pop_heap
// //
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type pop_heap( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type pop_heap(
Container const& cont, Container const& cont,
Compare comp Compare comp
) )
@ -39,7 +39,7 @@ namespace sprout {
namespace detail { namespace detail {
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type pop_heap_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type pop_heap_impl(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
) )
@ -55,7 +55,7 @@ namespace sprout {
// pop_heap // pop_heap
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type pop_heap( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type pop_heap(
Container const& cont Container const& cont
) )
{ {

View file

@ -12,7 +12,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type push_heap_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type push_heap_impl(
Container const& cont, Container const& cont,
Compare comp, Compare comp,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
@ -29,7 +29,7 @@ namespace sprout {
// push_heap // push_heap
// //
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type push_heap( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type push_heap(
Container const& cont, Container const& cont,
Compare comp Compare comp
) )
@ -39,7 +39,7 @@ namespace sprout {
namespace detail { namespace detail {
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type push_heap_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type push_heap_impl(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
) )
@ -55,7 +55,7 @@ namespace sprout {
// push_heap // push_heap
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type push_heap( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type push_heap(
Container const& cont Container const& cont
) )
{ {

View file

@ -13,7 +13,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename T> template<typename Container, typename T>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type remove_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type remove_impl(
Container const& cont, Container const& cont,
T const& value, T const& value,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
@ -30,7 +30,7 @@ namespace sprout {
// remove // remove
// //
template<typename Container, typename T> template<typename Container, typename T>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type remove( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type remove(
Container const& cont, Container const& cont,
T const& value T const& value
) )

View file

@ -14,7 +14,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename InputIterator, typename Result, typename T> template<typename InputIterator, typename Result, typename T>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type remove_copy_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type remove_copy_impl(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,
@ -33,7 +33,7 @@ namespace sprout {
// remove_copy // remove_copy
// //
template<typename InputIterator, typename Result, typename T> template<typename InputIterator, typename Result, typename T>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type remove_copy( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type remove_copy(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,

View file

@ -14,7 +14,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename InputIterator, typename Result, typename Predicate> template<typename InputIterator, typename Result, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type remove_copy_if_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type remove_copy_if_impl(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,
@ -33,7 +33,7 @@ namespace sprout {
// remove_copy_if // remove_copy_if
// //
template<typename InputIterator, typename Result, typename Predicate> template<typename InputIterator, typename Result, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type remove_copy_if( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type remove_copy_if(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,

View file

@ -13,7 +13,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename Predicate> template<typename Container, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type remove_if_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type remove_if_impl(
Container const& cont, Container const& cont,
Predicate pred, Predicate pred,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
@ -30,7 +30,7 @@ namespace sprout {
// remove_if // remove_if
// //
template<typename Container, typename Predicate> template<typename Container, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type remove_if( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type remove_if(
Container const& cont, Container const& cont,
Predicate pred Predicate pred
) )

View file

@ -12,7 +12,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename T> template<typename Container, typename T>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type replace_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type replace_impl(
Container const& cont, Container const& cont,
T const& old_value, T const& old_value,
T const& new_value, T const& new_value,
@ -30,7 +30,7 @@ namespace sprout {
// replace // replace
// //
template<typename Container, typename T> template<typename Container, typename T>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type replace( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type replace(
Container const& cont, Container const& cont,
T const& old_value, T const& old_value,
T const& new_value T const& new_value

View file

@ -14,7 +14,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename InputIterator, typename Result, typename T> template<typename InputIterator, typename Result, typename T>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type replace_copy_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type replace_copy_impl(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,
@ -34,7 +34,7 @@ namespace sprout {
// replace_copy // replace_copy
// //
template<typename InputIterator, typename Result, typename T> template<typename InputIterator, typename Result, typename T>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type replace_copy( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type replace_copy(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,

View file

@ -14,7 +14,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename InputIterator, typename Result, typename T, typename Predicate> template<typename InputIterator, typename Result, typename T, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type replace_copy_if_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type replace_copy_if_impl(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,
@ -34,7 +34,7 @@ namespace sprout {
// replace_copy_if // replace_copy_if
// //
template<typename InputIterator, typename Result, typename T, typename Predicate> template<typename InputIterator, typename Result, typename T, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type replace_copy_if( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type replace_copy_if(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,

View file

@ -12,7 +12,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename T, typename Predicate> template<typename Container, typename T, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type replace_if_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type replace_if_impl(
Container const& cont, Container const& cont,
Predicate pred, Predicate pred,
T const& new_value, T const& new_value,
@ -30,7 +30,7 @@ namespace sprout {
// replace_if // replace_if
// //
template<typename Container, typename T, typename Predicate> template<typename Container, typename T, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type replace_if( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type replace_if(
Container const& cont, Container const& cont,
Predicate pred, Predicate pred,
T const& new_value T const& new_value

View file

@ -12,7 +12,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type reverse_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type reverse_impl(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
) )
@ -28,7 +28,7 @@ namespace sprout {
// reverse // reverse
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type reverse( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type reverse(
Container const& cont Container const& cont
) )
{ {

View file

@ -14,7 +14,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename BidirectionalIterator, typename Result> template<typename BidirectionalIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type reverse_copy_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type reverse_copy_impl(
BidirectionalIterator first, BidirectionalIterator first,
BidirectionalIterator last, BidirectionalIterator last,
Result const& result, Result const& result,
@ -32,7 +32,7 @@ namespace sprout {
// reverse_copy // reverse_copy
// //
template<typename BidirectionalIterator, typename Result> template<typename BidirectionalIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type reverse_copy( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type reverse_copy(
BidirectionalIterator first, BidirectionalIterator first,
BidirectionalIterator last, BidirectionalIterator last,
Result const& result Result const& result

View file

@ -12,7 +12,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type rotate_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type rotate_impl(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator middle, typename sprout::container_traits<Container>::const_iterator middle,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
@ -29,7 +29,7 @@ namespace sprout {
// rotate // rotate
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type rotate( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type rotate(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator middle typename sprout::container_traits<Container>::const_iterator middle
) )

View file

@ -14,7 +14,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename ForwardIterator, typename Result> template<typename ForwardIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type rotate_copy_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type rotate_copy_impl(
ForwardIterator first, ForwardIterator first,
ForwardIterator middle, ForwardIterator middle,
ForwardIterator last, ForwardIterator last,
@ -33,7 +33,7 @@ namespace sprout {
// rotate_copy // rotate_copy
// //
template<typename ForwardIterator, typename Result> template<typename ForwardIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type rotate_copy( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type rotate_copy(
ForwardIterator first, ForwardIterator first,
ForwardIterator middle, ForwardIterator middle,
ForwardIterator last, ForwardIterator last,

View file

@ -15,7 +15,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_difference_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_difference_impl(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,
@ -41,7 +41,7 @@ namespace sprout {
// set_difference // set_difference
// //
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_difference( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_difference(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,
@ -55,7 +55,7 @@ namespace sprout {
namespace detail { namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result> template<typename InputIterator1, typename InputIterator2, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_difference_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_difference_impl(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,
@ -80,7 +80,7 @@ namespace sprout {
// set_difference // set_difference
// //
template<typename InputIterator1, typename InputIterator2, typename Result> template<typename InputIterator1, typename InputIterator2, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_difference( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_difference(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,

View file

@ -14,7 +14,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_intersection_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_intersection_impl(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,
@ -38,7 +38,7 @@ namespace sprout {
// set_intersection // set_intersection
// //
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_intersection( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_intersection(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,
@ -52,7 +52,7 @@ namespace sprout {
namespace detail { namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result> template<typename InputIterator1, typename InputIterator2, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_intersection_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_intersection_impl(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,
@ -75,7 +75,7 @@ namespace sprout {
// set_intersection // set_intersection
// //
template<typename InputIterator1, typename InputIterator2, typename Result> template<typename InputIterator1, typename InputIterator2, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_intersection( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_intersection(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,

View file

@ -15,7 +15,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_symmetric_difference_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_symmetric_difference_impl(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,
@ -42,7 +42,7 @@ namespace sprout {
// set_symmetric_difference // set_symmetric_difference
// //
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_symmetric_difference( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_symmetric_difference(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,
@ -56,7 +56,7 @@ namespace sprout {
namespace detail { namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result> template<typename InputIterator1, typename InputIterator2, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_symmetric_difference_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_symmetric_difference_impl(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,
@ -82,7 +82,7 @@ namespace sprout {
// set_symmetric_difference // set_symmetric_difference
// //
template<typename InputIterator1, typename InputIterator2, typename Result> template<typename InputIterator1, typename InputIterator2, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_symmetric_difference( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_symmetric_difference(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,

View file

@ -15,7 +15,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_union_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_union_impl(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,
@ -42,7 +42,7 @@ namespace sprout {
// set_union // set_union
// //
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_union( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_union(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,
@ -56,7 +56,7 @@ namespace sprout {
namespace detail { namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result> template<typename InputIterator1, typename InputIterator2, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_union_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_union_impl(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,
@ -82,7 +82,7 @@ namespace sprout {
// set_union // set_union
// //
template<typename InputIterator1, typename InputIterator2, typename Result> template<typename InputIterator1, typename InputIterator2, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type set_union( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type set_union(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,

View file

@ -13,7 +13,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename UniformRandomNumberGenerator> template<typename Container, typename UniformRandomNumberGenerator>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type shuffle_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type shuffle_impl(
Container const& cont, Container const& cont,
UniformRandomNumberGenerator&& g, UniformRandomNumberGenerator&& g,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
@ -30,7 +30,7 @@ namespace sprout {
// shuffle // shuffle
// //
template<typename Container, typename UniformRandomNumberGenerator> template<typename Container, typename UniformRandomNumberGenerator>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type shuffle( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type shuffle(
Container const& cont, Container const& cont,
UniformRandomNumberGenerator&& g UniformRandomNumberGenerator&& g
) )

View file

@ -14,7 +14,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename UniformRandomNumberGenerator, typename Shuffled> template<typename Container, typename UniformRandomNumberGenerator, typename Shuffled>
SPROUT_CONSTEXPR inline sprout::tuples::tuple< inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type, typename sprout::fit::result_of::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type typename std::decay<UniformRandomNumberGenerator>::type
> shuffle_result_impl_1( > shuffle_result_impl_1(
@ -36,7 +36,7 @@ namespace sprout {
); );
} }
template<typename Container, typename UniformRandomNumberGenerator> template<typename Container, typename UniformRandomNumberGenerator>
SPROUT_CONSTEXPR inline sprout::tuples::tuple< inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type, typename sprout::fit::result_of::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type typename std::decay<UniformRandomNumberGenerator>::type
> shuffle_result_impl( > shuffle_result_impl(
@ -55,7 +55,7 @@ namespace sprout {
// shuffle_result // shuffle_result
// //
template<typename Container, typename UniformRandomNumberGenerator> template<typename Container, typename UniformRandomNumberGenerator>
SPROUT_CONSTEXPR inline sprout::tuples::tuple< inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fit::result_of::algorithm<Container>::type, typename sprout::fit::result_of::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type typename std::decay<UniformRandomNumberGenerator>::type
> shuffle_result( > shuffle_result(

View file

@ -12,7 +12,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type sort_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type sort_impl(
Container const& cont, Container const& cont,
Compare comp, Compare comp,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
@ -29,7 +29,7 @@ namespace sprout {
// sort // sort
// //
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type sort( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type sort(
Container const& cont, Container const& cont,
Compare comp Compare comp
) )
@ -39,7 +39,7 @@ namespace sprout {
namespace detail { namespace detail {
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type sort_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type sort_impl(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
) )
@ -55,7 +55,7 @@ namespace sprout {
// sort // sort
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type sort( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type sort(
Container const& cont Container const& cont
) )
{ {

View file

@ -12,7 +12,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type sort_heap_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type sort_heap_impl(
Container const& cont, Container const& cont,
Compare comp, Compare comp,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
@ -29,7 +29,7 @@ namespace sprout {
// sort_heap // sort_heap
// //
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type sort_heap( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type sort_heap(
Container const& cont, Container const& cont,
Compare comp Compare comp
) )
@ -39,7 +39,7 @@ namespace sprout {
namespace detail { namespace detail {
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type sort_heap_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type sort_heap_impl(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
) )
@ -55,7 +55,7 @@ namespace sprout {
// sort_heap // sort_heap
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type sort_heap( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type sort_heap(
Container const& cont Container const& cont
) )
{ {

View file

@ -13,7 +13,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename Predicate> template<typename Container, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type stable_partition_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type stable_partition_impl(
Container const& cont, Container const& cont,
Predicate pred, Predicate pred,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
@ -30,7 +30,7 @@ namespace sprout {
// stable_partition // stable_partition
// //
template<typename Container, typename Predicate> template<typename Container, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type stable_partition( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type stable_partition(
Container const& cont, Container const& cont,
Predicate pred Predicate pred
) )

View file

@ -13,7 +13,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename InputIterator, typename Result, typename Predicate> template<typename InputIterator, typename Result, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type stable_partition_copy_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type stable_partition_copy_impl(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,
@ -32,7 +32,7 @@ namespace sprout {
// stable_partition_copy // stable_partition_copy
// //
template<typename InputIterator, typename Result, typename Predicate> template<typename InputIterator, typename Result, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type stable_partition_copy( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type stable_partition_copy(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,

View file

@ -12,7 +12,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type stable_sort_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type stable_sort_impl(
Container const& cont, Container const& cont,
Compare comp, Compare comp,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
@ -29,7 +29,7 @@ namespace sprout {
// stable_sort // stable_sort
// //
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type stable_sort( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type stable_sort(
Container const& cont, Container const& cont,
Compare comp Compare comp
) )
@ -39,7 +39,7 @@ namespace sprout {
namespace detail { namespace detail {
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type stable_sort_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type stable_sort_impl(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
) )
@ -55,7 +55,7 @@ namespace sprout {
// stable_sort // stable_sort
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type stable_sort( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type stable_sort(
Container const& cont Container const& cont
) )
{ {

View file

@ -13,7 +13,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type swap_element_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type swap_element_impl(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator pos1, typename sprout::container_traits<Container>::const_iterator pos1,
typename sprout::container_traits<Container>::const_iterator pos2, typename sprout::container_traits<Container>::const_iterator pos2,
@ -31,7 +31,7 @@ namespace sprout {
// swap_element // swap_element
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type swap_element( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type swap_element(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator pos1, typename sprout::container_traits<Container>::const_iterator pos1,
typename sprout::container_traits<Container>::const_iterator pos2 typename sprout::container_traits<Container>::const_iterator pos2

View file

@ -14,7 +14,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename InputIterator, typename Result> template<typename InputIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type swap_element_copy_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type swap_element_copy_impl(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,
@ -34,7 +34,7 @@ namespace sprout {
// swap_element_copy // swap_element_copy
// //
template<typename InputIterator, typename Result> template<typename InputIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type swap_element_copy( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type swap_element_copy(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,

View file

@ -14,7 +14,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Iterator, typename Result, typename UnaryOperation> template<typename Iterator, typename Result, typename UnaryOperation>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type transform_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type transform_impl(
Iterator first, Iterator first,
Iterator last, Iterator last,
Result const& result, Result const& result,
@ -33,7 +33,7 @@ namespace sprout {
// transform // transform
// //
template<typename Iterator, typename Result, typename UnaryOperation> template<typename Iterator, typename Result, typename UnaryOperation>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type transform( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type transform(
Iterator first, Iterator first,
Iterator last, Iterator last,
Result const& result, Result const& result,
@ -45,7 +45,7 @@ namespace sprout {
namespace detail { namespace detail {
template<typename Iterator1, typename Iterator2, typename Result, typename BinaryOperation> template<typename Iterator1, typename Iterator2, typename Result, typename BinaryOperation>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type transform_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type transform_impl(
Iterator1 first1, Iterator1 first1,
Iterator1 last1, Iterator1 last1,
Iterator2 first2, Iterator2 first2,
@ -65,7 +65,7 @@ namespace sprout {
// transform // transform
// //
template<typename Iterator1, typename Iterator2, typename Result, typename BinaryOperation> template<typename Iterator1, typename Iterator2, typename Result, typename BinaryOperation>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type transform( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type transform(
Iterator1 first1, Iterator1 first1,
Iterator1 last1, Iterator1 last1,
Iterator2 first2, Iterator2 first2,

View file

@ -13,7 +13,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type unique_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type unique_impl(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
) )
@ -29,7 +29,7 @@ namespace sprout {
// unique // unique
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type unique( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type unique(
Container const& cont Container const& cont
) )
{ {
@ -38,7 +38,7 @@ namespace sprout {
namespace detail { namespace detail {
template<typename Container, typename BinaryPredicate> template<typename Container, typename BinaryPredicate>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type unique_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type unique_impl(
Container const& cont, Container const& cont,
BinaryPredicate pred, BinaryPredicate pred,
typename sprout::container_traits<Container>::difference_type offset typename sprout::container_traits<Container>::difference_type offset
@ -55,7 +55,7 @@ namespace sprout {
// unique // unique
// //
template<typename Container, typename BinaryPredicate> template<typename Container, typename BinaryPredicate>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type unique( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type unique(
Container const& cont, Container const& cont,
BinaryPredicate pred BinaryPredicate pred
) )

View file

@ -15,7 +15,7 @@ namespace sprout {
namespace fit { namespace fit {
namespace detail { namespace detail {
template<typename InputIterator, typename Result> template<typename InputIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type unique_copy_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type unique_copy_impl(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,
@ -33,7 +33,7 @@ namespace sprout {
// unique_copy // unique_copy
// //
template<typename InputIterator, typename Result> template<typename InputIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type unique_copy( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type unique_copy(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result Result const& result
@ -44,7 +44,7 @@ namespace sprout {
namespace detail { namespace detail {
template<typename InputIterator, typename Result, typename BinaryPredicate> template<typename InputIterator, typename Result, typename BinaryPredicate>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type unique_copy_impl( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type unique_copy_impl(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,
@ -63,7 +63,7 @@ namespace sprout {
// unique_copy // unique_copy
// //
template<typename InputIterator, typename Result, typename BinaryPredicate> template<typename InputIterator, typename Result, typename BinaryPredicate>
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type unique_copy( inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type unique_copy(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,

View file

@ -16,7 +16,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename Container, typename Shuffled, typename Compare> template<typename Container, typename Shuffled, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type bogo_sort_impl_1( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type bogo_sort_impl_1(
Shuffled const& shuffled, Shuffled const& shuffled,
Compare comp Compare comp
) )
@ -37,7 +37,7 @@ namespace sprout {
; ;
} }
template<typename Container, typename UniformRandomNumberGenerator, typename Compare> template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type bogo_sort_impl( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type bogo_sort_impl(
Container const& cont, Container const& cont,
UniformRandomNumberGenerator&& g, UniformRandomNumberGenerator&& g,
Compare comp Compare comp
@ -63,7 +63,7 @@ namespace sprout {
// bogo_sort // bogo_sort
// //
template<typename Container, typename UniformRandomNumberGenerator, typename Compare> template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type bogo_sort( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type bogo_sort(
Container const& cont, Container const& cont,
UniformRandomNumberGenerator&& g, UniformRandomNumberGenerator&& g,
Compare comp Compare comp
@ -79,7 +79,7 @@ namespace sprout {
// bogo_sort // bogo_sort
// //
template<typename Container, typename UniformRandomNumberGenerator> template<typename Container, typename UniformRandomNumberGenerator>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type bogo_sort( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type bogo_sort(
Container const& cont, Container const& cont,
UniformRandomNumberGenerator&& g UniformRandomNumberGenerator&& g
) )

View file

@ -17,7 +17,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename Container, typename UniformRandomNumberGenerator, typename Shuffled, typename Compare> template<typename Container, typename UniformRandomNumberGenerator, typename Shuffled, typename Compare>
SPROUT_CONSTEXPR inline sprout::tuples::tuple< inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fixed::result_of::algorithm<Container>::type, typename sprout::fixed::result_of::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type typename std::decay<UniformRandomNumberGenerator>::type
> bogo_sort_result_impl_1( > bogo_sort_result_impl_1(
@ -41,7 +41,7 @@ namespace sprout {
; ;
} }
template<typename Container, typename UniformRandomNumberGenerator, typename Compare> template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
SPROUT_CONSTEXPR inline sprout::tuples::tuple< inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fixed::result_of::algorithm<Container>::type, typename sprout::fixed::result_of::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type typename std::decay<UniformRandomNumberGenerator>::type
> bogo_sort_result_impl( > bogo_sort_result_impl(
@ -77,7 +77,7 @@ namespace sprout {
// bogo_sort_result // bogo_sort_result
// //
template<typename Container, typename UniformRandomNumberGenerator, typename Compare> template<typename Container, typename UniformRandomNumberGenerator, typename Compare>
SPROUT_CONSTEXPR inline sprout::tuples::tuple< inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fixed::result_of::algorithm<Container>::type, typename sprout::fixed::result_of::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type typename std::decay<UniformRandomNumberGenerator>::type
> bogo_sort_result( > bogo_sort_result(
@ -96,7 +96,7 @@ namespace sprout {
// bogo_sort_result // bogo_sort_result
// //
template<typename Container, typename UniformRandomNumberGenerator> template<typename Container, typename UniformRandomNumberGenerator>
SPROUT_CONSTEXPR inline sprout::tuples::tuple< inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fixed::result_of::algorithm<Container>::type, typename sprout::fixed::result_of::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type typename std::decay<UniformRandomNumberGenerator>::type
> bogo_sort_result( > bogo_sort_result(

View file

@ -16,7 +16,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename RandomAccessIterator, typename Result, sprout::index_t... Indexes> template<typename RandomAccessIterator, typename Result, sprout::index_t... Indexes>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type copy_impl_ra( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type copy_impl_ra(
RandomAccessIterator first, RandomAccessIterator first,
RandomAccessIterator last, RandomAccessIterator last,
Result const& result, Result const& result,
@ -36,7 +36,7 @@ namespace sprout {
); );
} }
template<typename RandomAccessIterator, typename Result> template<typename RandomAccessIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type copy( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type copy(
RandomAccessIterator first, RandomAccessIterator first,
RandomAccessIterator last, RandomAccessIterator last,
Result const& result, Result const& result,
@ -54,7 +54,7 @@ namespace sprout {
); );
} }
template<typename InputIterator, typename Result, typename... Args> template<typename InputIterator, typename Result, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args), sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type copy_impl( >::type copy_impl(
@ -68,7 +68,7 @@ namespace sprout {
return sprout::remake<Result>(result, sprout::size(result), args...); return sprout::remake<Result>(result, sprout::size(result), args...);
} }
template<typename InputIterator, typename Result, typename... Args> template<typename InputIterator, typename Result, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args), sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type copy_impl( >::type copy_impl(
@ -85,7 +85,7 @@ namespace sprout {
; ;
} }
template<typename InputIterator, typename Result> template<typename InputIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type copy( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type copy(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,
@ -99,7 +99,7 @@ namespace sprout {
// copy // copy
// //
template<typename InputIterator, typename Result> template<typename InputIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type copy( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type copy(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result Result const& result

View file

@ -17,7 +17,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename RandomAccessIterator, typename Result, sprout::index_t... Indexes> template<typename RandomAccessIterator, typename Result, sprout::index_t... Indexes>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type copy_backward_impl_ra( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type copy_backward_impl_ra(
RandomAccessIterator first, RandomAccessIterator first,
RandomAccessIterator last, RandomAccessIterator last,
Result const& result, Result const& result,
@ -37,7 +37,7 @@ namespace sprout {
); );
} }
template<typename RandomAccessIterator, typename Result> template<typename RandomAccessIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type copy_backward( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type copy_backward(
RandomAccessIterator first, RandomAccessIterator first,
RandomAccessIterator last, RandomAccessIterator last,
Result const& result, Result const& result,
@ -55,7 +55,7 @@ namespace sprout {
); );
} }
template<typename BidirectionalIterator, typename Result, typename... Args> template<typename BidirectionalIterator, typename Result, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args), sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type copy_backward_impl( >::type copy_backward_impl(
@ -69,7 +69,7 @@ namespace sprout {
return sprout::remake<Result>(result, sprout::size(result), args...); return sprout::remake<Result>(result, sprout::size(result), args...);
} }
template<typename BidirectionalIterator, typename Result, typename... Args> template<typename BidirectionalIterator, typename Result, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args), sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type copy_backward_impl( >::type copy_backward_impl(
@ -86,7 +86,7 @@ namespace sprout {
; ;
} }
template<typename BidirectionalIterator, typename Result> template<typename BidirectionalIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type copy_backward( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type copy_backward(
BidirectionalIterator first, BidirectionalIterator first,
BidirectionalIterator last, BidirectionalIterator last,
Result const& result, Result const& result,
@ -105,7 +105,7 @@ namespace sprout {
// copy_backward // copy_backward
// //
template<typename BidirectionalIterator, typename Result> template<typename BidirectionalIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type copy_backward( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type copy_backward(
BidirectionalIterator first, BidirectionalIterator first,
BidirectionalIterator last, BidirectionalIterator last,
Result const& result Result const& result

View file

@ -13,7 +13,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename InputIterator, typename Result, typename Predicate, typename... Args> template<typename InputIterator, typename Result, typename Predicate, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args), sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type copy_if_impl( >::type copy_if_impl(
@ -28,7 +28,7 @@ namespace sprout {
return sprout::remake<Result>(result, sprout::size(result), args...); return sprout::remake<Result>(result, sprout::size(result), args...);
} }
template<typename InputIterator, typename Result, typename Predicate, typename... Args> template<typename InputIterator, typename Result, typename Predicate, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args), sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type copy_if_impl( >::type copy_if_impl(
@ -52,7 +52,7 @@ namespace sprout {
// copy_if // copy_if
// //
template<typename InputIterator, typename Result, typename Predicate> template<typename InputIterator, typename Result, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type copy_if( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type copy_if(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,

View file

@ -15,7 +15,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename RandomAccessIterator, typename Size, typename Result> template<typename RandomAccessIterator, typename Size, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type copy_n( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type copy_n(
RandomAccessIterator first, RandomAccessIterator first,
Size n, Size n,
Result const& result, Result const& result,
@ -25,7 +25,7 @@ namespace sprout {
return sprout::fixed::copy(first, sprout::next(first, n), result); return sprout::fixed::copy(first, sprout::next(first, n), result);
} }
template<typename InputIterator, typename Size, typename Result, typename... Args> template<typename InputIterator, typename Size, typename Result, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args), sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type copy_n_impl( >::type copy_n_impl(
@ -39,7 +39,7 @@ namespace sprout {
return sprout::remake<Result>(result, sprout::size(result), args...); return sprout::remake<Result>(result, sprout::size(result), args...);
} }
template<typename InputIterator, typename Size, typename Result, typename... Args> template<typename InputIterator, typename Size, typename Result, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args), sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type copy_n_impl( >::type copy_n_impl(
@ -56,7 +56,7 @@ namespace sprout {
; ;
} }
template<typename InputIterator, typename Size, typename Result> template<typename InputIterator, typename Size, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type copy_n( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type copy_n(
InputIterator first, InputIterator first,
Size n, Size n,
Result const& result, Result const& result,
@ -70,7 +70,7 @@ namespace sprout {
// copy_n // copy_n
// //
template<typename InputIterator, typename Size, typename Result> template<typename InputIterator, typename Size, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type copy_n( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type copy_n(
InputIterator first, InputIterator first,
Size n, Size n,
Result const& result Result const& result

View file

@ -12,7 +12,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename Container, typename T, sprout::index_t... Indexes> template<typename Container, typename T, sprout::index_t... Indexes>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type fill_impl( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type fill_impl(
Container const& cont, Container const& cont,
T const& value, T const& value,
sprout::index_tuple<Indexes...>, sprout::index_tuple<Indexes...>,
@ -34,7 +34,7 @@ namespace sprout {
// fill // fill
// //
template<typename Container, typename T> template<typename Container, typename T>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type fill( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type fill(
Container const& cont, Container const& cont,
T const& value T const& value
) )

View file

@ -14,7 +14,7 @@ namespace sprout {
// fill_n // fill_n
// //
template<typename Container, typename Size, typename T> template<typename Container, typename Size, typename T>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type fill_n( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type fill_n(
Container const& cont, Container const& cont,
Size n, Size n,
T const& value T const& value

View file

@ -14,7 +14,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<std::size_t InitSize, typename Container, typename Generator, typename... Args> template<std::size_t InitSize, typename Container, typename Generator, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
InitSize == 0, InitSize == 0,
typename sprout::container_traits<Container>::value_type typename sprout::container_traits<Container>::value_type
>::type call_gen( >::type call_gen(
@ -25,7 +25,7 @@ namespace sprout {
return gen(); return gen();
} }
template<std::size_t InitSize, typename Container, typename Generator, typename Head, typename... Args> template<std::size_t InitSize, typename Container, typename Generator, typename Head, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
InitSize != 0 && InitSize == sizeof...(Args) + 1, InitSize != 0 && InitSize == sizeof...(Args) + 1,
typename sprout::container_traits<Container>::value_type typename sprout::container_traits<Container>::value_type
>::type call_gen( >::type call_gen(
@ -37,7 +37,7 @@ namespace sprout {
return gen(head, args...); return gen(head, args...);
} }
template<std::size_t InitSize, typename Container, typename Generator, typename Head, typename... Args> template<std::size_t InitSize, typename Container, typename Generator, typename Head, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
InitSize != 0 && InitSize != sizeof...(Args) + 1, InitSize != 0 && InitSize != sizeof...(Args) + 1,
typename sprout::container_traits<Container>::value_type typename sprout::container_traits<Container>::value_type
>::type call_gen( >::type call_gen(
@ -49,7 +49,7 @@ namespace sprout {
return call_gen<InitSize, Container>(gen, args...); return call_gen<InitSize, Container>(gen, args...);
} }
template<typename Container, typename Generator> template<typename Container, typename Generator>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type generate_impl_drop( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type generate_impl_drop(
Container const& cont, Container const& cont,
Generator gen, Generator gen,
typename sprout::container_traits<Container>::size_type size typename sprout::container_traits<Container>::size_type size
@ -58,7 +58,7 @@ namespace sprout {
return sprout::detail::container_complate(cont); return sprout::detail::container_complate(cont);
} }
template<typename Container, typename Generator, typename Head, typename... Inits> template<typename Container, typename Generator, typename Head, typename... Inits>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
(sprout::container_traits<Container>::static_size >= sizeof...(Inits) + 1), (sprout::container_traits<Container>::static_size >= sizeof...(Inits) + 1),
typename sprout::fixed::result_of::algorithm<Container>::type typename sprout::fixed::result_of::algorithm<Container>::type
>::type generate_impl_drop( >::type generate_impl_drop(
@ -75,7 +75,7 @@ namespace sprout {
; ;
} }
template<typename Container, typename Generator, typename Head, typename... Inits> template<typename Container, typename Generator, typename Head, typename... Inits>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
(sprout::container_traits<Container>::static_size < sizeof...(Inits) + 1), (sprout::container_traits<Container>::static_size < sizeof...(Inits) + 1),
typename sprout::fixed::result_of::algorithm<Container>::type typename sprout::fixed::result_of::algorithm<Container>::type
>::type generate_impl_drop( >::type generate_impl_drop(
@ -89,7 +89,7 @@ namespace sprout {
return sprout::fixed::detail::generate_impl_drop(cont, gen, size, inits...); return sprout::fixed::detail::generate_impl_drop(cont, gen, size, inits...);
} }
template<std::size_t InitSize, typename Container, typename Generator, typename... Args> template<std::size_t InitSize, typename Container, typename Generator, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Container>::static_size == sizeof...(Args), sprout::container_traits<Container>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Container>::type typename sprout::fixed::result_of::algorithm<Container>::type
>::type generate_impl_1( >::type generate_impl_1(
@ -102,7 +102,7 @@ namespace sprout {
return sprout::remake<Container>(cont, sprout::size(cont), args...); return sprout::remake<Container>(cont, sprout::size(cont), args...);
} }
template<std::size_t InitSize, typename Container, typename Generator, typename... Args> template<std::size_t InitSize, typename Container, typename Generator, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Container>::static_size != sizeof...(Args), sprout::container_traits<Container>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Container>::type typename sprout::fixed::result_of::algorithm<Container>::type
>::type generate_impl_1( >::type generate_impl_1(
@ -118,7 +118,7 @@ namespace sprout {
; ;
} }
template<typename Container, typename Generator, typename... Inits> template<typename Container, typename Generator, typename... Inits>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
(sprout::container_traits<Container>::static_size > sizeof...(Inits)), (sprout::container_traits<Container>::static_size > sizeof...(Inits)),
typename sprout::fixed::result_of::algorithm<Container>::type typename sprout::fixed::result_of::algorithm<Container>::type
>::type generate_impl( >::type generate_impl(
@ -134,7 +134,7 @@ namespace sprout {
; ;
} }
template<typename Container, typename Generator, typename... Inits> template<typename Container, typename Generator, typename... Inits>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
(sprout::container_traits<Container>::static_size <= sizeof...(Inits)), (sprout::container_traits<Container>::static_size <= sizeof...(Inits)),
typename sprout::fixed::result_of::algorithm<Container>::type typename sprout::fixed::result_of::algorithm<Container>::type
>::type generate_impl( >::type generate_impl(
@ -151,7 +151,7 @@ namespace sprout {
// generate // generate
// //
template<typename Container, typename Generator, typename... Inits> template<typename Container, typename Generator, typename... Inits>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type generate( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type generate(
Container const& cont, Container const& cont,
Generator gen, Generator gen,
Inits const&... inits Inits const&... inits

View file

@ -12,7 +12,7 @@ namespace sprout {
// generate_n // generate_n
// //
template<typename Container, typename Size, typename Generator, typename... Inits> template<typename Container, typename Size, typename Generator, typename... Inits>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type generate_n( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type generate_n(
Container const& cont, Container const& cont,
Size n, Size n,
Generator gen, Generator gen,

View file

@ -13,7 +13,7 @@ namespace sprout {
// inplace_merge // inplace_merge
// //
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type inplace_merge( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type inplace_merge(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator middle, typename sprout::container_traits<Container>::const_iterator middle,
Compare comp Compare comp
@ -32,7 +32,7 @@ namespace sprout {
// inplace_merge // inplace_merge
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type inplace_merge( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type inplace_merge(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator middle typename sprout::container_traits<Container>::const_iterator middle
) )

View file

@ -13,7 +13,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type make_heap_impl( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type make_heap_impl(
Container const& cont, Container const& cont,
Compare comp, Compare comp,
typename sprout::container_traits<Container>::difference_type offset, typename sprout::container_traits<Container>::difference_type offset,
@ -23,7 +23,7 @@ namespace sprout {
typename sprout::container_traits<Container>::difference_type r = 2 typename sprout::container_traits<Container>::difference_type r = 2
); );
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type make_heap_impl_1( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type make_heap_impl_1(
Container const& cont, Container const& cont,
Compare comp, Compare comp,
typename sprout::container_traits<Container>::difference_type offset, typename sprout::container_traits<Container>::difference_type offset,
@ -67,7 +67,7 @@ namespace sprout {
; ;
} }
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type make_heap_impl( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type make_heap_impl(
Container const& cont, Container const& cont,
Compare comp, Compare comp,
typename sprout::container_traits<Container>::difference_type offset, typename sprout::container_traits<Container>::difference_type offset,
@ -111,7 +111,7 @@ namespace sprout {
// make_heap // make_heap
// //
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type make_heap( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type make_heap(
Container const& cont, Container const& cont,
Compare comp Compare comp
) )
@ -127,7 +127,7 @@ namespace sprout {
// make_heap // make_heap
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type make_heap( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type make_heap(
Container const& cont Container const& cont
) )
{ {

View file

@ -16,7 +16,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type make_partial_heap_impl_1( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type make_partial_heap_impl_1(
Container const& cont, Container const& cont,
Compare comp, Compare comp,
typename sprout::container_traits<Container>::difference_type offset, typename sprout::container_traits<Container>::difference_type offset,
@ -49,7 +49,7 @@ namespace sprout {
; ;
} }
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type make_partial_heap_impl( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type make_partial_heap_impl(
Container const& cont, Container const& cont,
Compare comp, Compare comp,
typename sprout::container_traits<Container>::difference_type offset, typename sprout::container_traits<Container>::difference_type offset,
@ -71,7 +71,7 @@ namespace sprout {
// make_partial_heap // make_partial_heap
// //
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type make_partial_heap( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type make_partial_heap(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator middle, typename sprout::container_traits<Container>::const_iterator middle,
Compare comp Compare comp
@ -89,7 +89,7 @@ namespace sprout {
// make_partial_heap // make_partial_heap
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type make_partial_heap( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type make_partial_heap(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator middle typename sprout::container_traits<Container>::const_iterator middle
) )

View file

@ -14,7 +14,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args), sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type merge_impl( >::type merge_impl(
@ -31,7 +31,7 @@ namespace sprout {
return sprout::remake<Result>(result, sprout::size(result), args...); return sprout::remake<Result>(result, sprout::size(result), args...);
} }
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args), sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type merge_impl( >::type merge_impl(
@ -63,7 +63,7 @@ namespace sprout {
// merge // merge
// //
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type merge( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type merge(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,
@ -86,7 +86,7 @@ namespace sprout {
// merge // merge
// //
template<typename InputIterator1, typename InputIterator2, typename Result> template<typename InputIterator1, typename InputIterator2, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type merge( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type merge(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,

View file

@ -15,7 +15,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type nth_element_impl_1( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type nth_element_impl_1(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::difference_type offset, typename sprout::container_traits<Container>::difference_type offset,
typename sprout::container_traits<Container>::difference_type nth_size typename sprout::container_traits<Container>::difference_type nth_size
@ -28,7 +28,7 @@ namespace sprout {
); );
} }
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type nth_element_impl( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type nth_element_impl(
Container const& cont, Container const& cont,
Compare comp, Compare comp,
typename sprout::container_traits<Container>::difference_type offset, typename sprout::container_traits<Container>::difference_type offset,
@ -47,7 +47,7 @@ namespace sprout {
// nth_element // nth_element
// //
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type nth_element( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type nth_element(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator nth, typename sprout::container_traits<Container>::const_iterator nth,
Compare comp Compare comp
@ -65,7 +65,7 @@ namespace sprout {
// nth_element // nth_element
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type nth_element( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type nth_element(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator nth typename sprout::container_traits<Container>::const_iterator nth
) )

View file

@ -14,7 +14,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type partial_sort_impl( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type partial_sort_impl(
Container const& cont, Container const& cont,
Compare comp, Compare comp,
typename sprout::container_traits<Container>::difference_type offset, typename sprout::container_traits<Container>::difference_type offset,
@ -34,7 +34,7 @@ namespace sprout {
// partial_sort // partial_sort
// //
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type partial_sort( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type partial_sort(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator middle, typename sprout::container_traits<Container>::const_iterator middle,
Compare comp Compare comp
@ -52,7 +52,7 @@ namespace sprout {
// partial_sort // partial_sort
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type partial_sort( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type partial_sort(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator middle typename sprout::container_traits<Container>::const_iterator middle
) )

View file

@ -13,7 +13,7 @@ namespace sprout {
// partition // partition
// //
template<typename Container, typename Predicate> template<typename Container, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type partition( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type partition(
Container const& cont, Container const& cont,
Predicate pred Predicate pred
) )

View file

@ -13,7 +13,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename InputIterator, typename Result, typename Predicate, typename... Args> template<typename InputIterator, typename Result, typename Predicate, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args), sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type partition_copy_impl( >::type partition_copy_impl(
@ -28,7 +28,7 @@ namespace sprout {
return sprout::remake<Result>(result, sprout::size(result), args...); return sprout::remake<Result>(result, sprout::size(result), args...);
} }
template<typename InputIterator, typename Result, typename Predicate, typename... Args> template<typename InputIterator, typename Result, typename Predicate, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args), sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type partition_copy_impl( >::type partition_copy_impl(
@ -52,7 +52,7 @@ namespace sprout {
// partition_copy // partition_copy
// //
template<typename InputIterator, typename Result, typename Predicate> template<typename InputIterator, typename Result, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type partition_copy( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type partition_copy(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,

View file

@ -13,7 +13,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type pop_heap_impl( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type pop_heap_impl(
Container const& cont, Container const& cont,
Compare comp, Compare comp,
typename sprout::container_traits<Container>::difference_type offset, typename sprout::container_traits<Container>::difference_type offset,
@ -63,7 +63,7 @@ namespace sprout {
// pop_heap // pop_heap
// //
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type pop_heap( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type pop_heap(
Container const& cont, Container const& cont,
Compare comp Compare comp
) )
@ -79,7 +79,7 @@ namespace sprout {
// pop_heap // pop_heap
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type pop_heap( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type pop_heap(
Container const& cont Container const& cont
) )
{ {

View file

@ -13,7 +13,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type push_heap_impl( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type push_heap_impl(
Container const& cont, Container const& cont,
Compare comp, Compare comp,
typename sprout::container_traits<Container>::difference_type offset, typename sprout::container_traits<Container>::difference_type offset,
@ -39,7 +39,7 @@ namespace sprout {
// push_heap // push_heap
// //
template<typename Container, typename Compare> template<typename Container, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type push_heap( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type push_heap(
Container const& cont, Container const& cont,
Compare comp Compare comp
) )
@ -55,7 +55,7 @@ namespace sprout {
// push_heap // push_heap
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type push_heap( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type push_heap(
Container const& cont Container const& cont
) )
{ {

View file

@ -13,7 +13,7 @@ namespace sprout {
// remove // remove
// //
template<typename Container, typename T> template<typename Container, typename T>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type remove( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type remove(
Container const& cont, Container const& cont,
T const& value T const& value
) )

View file

@ -13,7 +13,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename InputIterator, typename Result, typename T, typename... Args> template<typename InputIterator, typename Result, typename T, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args), sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type remove_copy_impl( >::type remove_copy_impl(
@ -28,7 +28,7 @@ namespace sprout {
return sprout::remake<Result>(result, sprout::size(result), args...); return sprout::remake<Result>(result, sprout::size(result), args...);
} }
template<typename InputIterator, typename Result, typename T, typename... Args> template<typename InputIterator, typename Result, typename T, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args), sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type remove_copy_impl( >::type remove_copy_impl(
@ -52,7 +52,7 @@ namespace sprout {
// remove_copy // remove_copy
// //
template<typename InputIterator, typename Result, typename T> template<typename InputIterator, typename Result, typename T>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type remove_copy( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type remove_copy(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,

View file

@ -13,7 +13,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename InputIterator, typename Result, typename Predicate, typename... Args> template<typename InputIterator, typename Result, typename Predicate, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args), sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type remove_copy_if_impl( >::type remove_copy_if_impl(
@ -28,7 +28,7 @@ namespace sprout {
return sprout::remake<Result>(result, sprout::size(result), args...); return sprout::remake<Result>(result, sprout::size(result), args...);
} }
template<typename InputIterator, typename Result, typename Predicate, typename... Args> template<typename InputIterator, typename Result, typename Predicate, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args), sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type remove_copy_if_impl( >::type remove_copy_if_impl(
@ -52,7 +52,7 @@ namespace sprout {
// remove_copy_if // remove_copy_if
// //
template<typename InputIterator, typename Result, typename Predicate> template<typename InputIterator, typename Result, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type remove_copy_if( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type remove_copy_if(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,

View file

@ -13,7 +13,7 @@ namespace sprout {
// remove_if // remove_if
// //
template<typename Container, typename Predicate> template<typename Container, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type remove_if( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type remove_if(
Container const& cont, Container const& cont,
Predicate pred Predicate pred
) )

View file

@ -13,7 +13,7 @@ namespace sprout {
// replace // replace
// //
template<typename Container, typename T> template<typename Container, typename T>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type replace( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type replace(
Container const& cont, Container const& cont,
T const& old_value, T const& old_value,
T const& new_value T const& new_value

View file

@ -17,7 +17,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename RandomAccessIterator, typename Result, typename T, sprout::index_t... Indexes> template<typename RandomAccessIterator, typename Result, typename T, sprout::index_t... Indexes>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type replace_copy_impl_ra( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type replace_copy_impl_ra(
RandomAccessIterator first, RandomAccessIterator first,
RandomAccessIterator last, RandomAccessIterator last,
Result const& result, Result const& result,
@ -39,7 +39,7 @@ namespace sprout {
); );
} }
template<typename RandomAccessIterator, typename Result, typename T> template<typename RandomAccessIterator, typename Result, typename T>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type replace_copy( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type replace_copy(
RandomAccessIterator first, RandomAccessIterator first,
RandomAccessIterator last, RandomAccessIterator last,
Result const& result, Result const& result,
@ -61,7 +61,7 @@ namespace sprout {
); );
} }
template<typename InputIterator, typename Result, typename T, typename... Args> template<typename InputIterator, typename Result, typename T, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args), sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type replace_copy_impl( >::type replace_copy_impl(
@ -77,7 +77,7 @@ namespace sprout {
return sprout::remake<Result>(result, sprout::size(result), args...); return sprout::remake<Result>(result, sprout::size(result), args...);
} }
template<typename InputIterator, typename Result, typename T, typename... Args> template<typename InputIterator, typename Result, typename T, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args), sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type replace_copy_impl( >::type replace_copy_impl(
@ -96,7 +96,7 @@ namespace sprout {
; ;
} }
template<typename InputIterator, typename Result, typename T> template<typename InputIterator, typename Result, typename T>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type replace_copy( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type replace_copy(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,
@ -112,7 +112,7 @@ namespace sprout {
// replace_copy // replace_copy
// //
template<typename InputIterator, typename Result, typename T> template<typename InputIterator, typename Result, typename T>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type replace_copy( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type replace_copy(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,

View file

@ -16,7 +16,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename RandomAccessIterator, typename Result, typename T, typename Predicate, sprout::index_t... Indexes> template<typename RandomAccessIterator, typename Result, typename T, typename Predicate, sprout::index_t... Indexes>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type replace_copy_if_impl_ra( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type replace_copy_if_impl_ra(
RandomAccessIterator first, RandomAccessIterator first,
RandomAccessIterator last, RandomAccessIterator last,
Result const& result, Result const& result,
@ -38,7 +38,7 @@ namespace sprout {
); );
} }
template<typename RandomAccessIterator, typename Result, typename T, typename Predicate> template<typename RandomAccessIterator, typename Result, typename T, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type replace_copy_if( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type replace_copy_if(
RandomAccessIterator first, RandomAccessIterator first,
RandomAccessIterator last, RandomAccessIterator last,
Result const& result, Result const& result,
@ -60,7 +60,7 @@ namespace sprout {
); );
} }
template<typename InputIterator, typename Result, typename T, typename Predicate, typename... Args> template<typename InputIterator, typename Result, typename T, typename Predicate, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args), sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type replace_copy_if_impl( >::type replace_copy_if_impl(
@ -76,7 +76,7 @@ namespace sprout {
return sprout::remake<Result>(result, sprout::size(result), args...); return sprout::remake<Result>(result, sprout::size(result), args...);
} }
template<typename InputIterator, typename Result, typename T, typename Predicate, typename... Args> template<typename InputIterator, typename Result, typename T, typename Predicate, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args), sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type replace_copy_if_impl( >::type replace_copy_if_impl(
@ -95,7 +95,7 @@ namespace sprout {
; ;
} }
template<typename InputIterator, typename Result, typename T, typename Predicate> template<typename InputIterator, typename Result, typename T, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type replace_copy_if( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type replace_copy_if(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,
@ -111,7 +111,7 @@ namespace sprout {
// replace_copy_if // replace_copy_if
// //
template<typename InputIterator, typename Result, typename T, typename Predicate> template<typename InputIterator, typename Result, typename T, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type replace_copy_if( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type replace_copy_if(
InputIterator first, InputIterator first,
InputIterator last, InputIterator last,
Result const& result, Result const& result,

View file

@ -13,7 +13,7 @@ namespace sprout {
// replace_if // replace_if
// //
template<typename Container, typename T, typename Predicate> template<typename Container, typename T, typename Predicate>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type replace_if( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type replace_if(
Container const& cont, Container const& cont,
Predicate pred, Predicate pred,
T const& new_value T const& new_value

View file

@ -13,7 +13,7 @@ namespace sprout {
// reverse // reverse
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type reverse( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type reverse(
Container const& cont Container const& cont
) )
{ {

View file

@ -16,7 +16,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename RandomAccessIterator, typename Result, sprout::index_t... Indexes> template<typename RandomAccessIterator, typename Result, sprout::index_t... Indexes>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type reverse_copy_impl_ra( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type reverse_copy_impl_ra(
RandomAccessIterator first, RandomAccessIterator first,
RandomAccessIterator last, RandomAccessIterator last,
Result const& result, Result const& result,
@ -36,7 +36,7 @@ namespace sprout {
); );
} }
template<typename RandomAccessIterator, typename Result> template<typename RandomAccessIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type reverse_copy( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type reverse_copy(
RandomAccessIterator first, RandomAccessIterator first,
RandomAccessIterator last, RandomAccessIterator last,
Result const& result, Result const& result,
@ -54,7 +54,7 @@ namespace sprout {
); );
} }
template<typename BidirectionalIterator, typename Result, typename... Args> template<typename BidirectionalIterator, typename Result, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args), sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type reverse_copy_impl( >::type reverse_copy_impl(
@ -68,7 +68,7 @@ namespace sprout {
return sprout::remake<Result>(result, sprout::size(result), args...); return sprout::remake<Result>(result, sprout::size(result), args...);
} }
template<typename BidirectionalIterator, typename Result, typename... Args> template<typename BidirectionalIterator, typename Result, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args), sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type reverse_copy_impl( >::type reverse_copy_impl(
@ -85,7 +85,7 @@ namespace sprout {
; ;
} }
template<typename BidirectionalIterator, typename Result> template<typename BidirectionalIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type reverse_copy( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type reverse_copy(
BidirectionalIterator first, BidirectionalIterator first,
BidirectionalIterator last, BidirectionalIterator last,
Result const& result, Result const& result,
@ -99,7 +99,7 @@ namespace sprout {
// reverse_copy // reverse_copy
// //
template<typename BidirectionalIterator, typename Result> template<typename BidirectionalIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type reverse_copy( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type reverse_copy(
BidirectionalIterator first, BidirectionalIterator first,
BidirectionalIterator last, BidirectionalIterator last,
Result const& result Result const& result

View file

@ -13,7 +13,7 @@ namespace sprout {
// rotate // rotate
// //
template<typename Container> template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type rotate( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type rotate(
Container const& cont, Container const& cont,
typename sprout::container_traits<Container>::const_iterator middle typename sprout::container_traits<Container>::const_iterator middle
) )

View file

@ -16,7 +16,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename RandomAccessIterator, typename Result, sprout::index_t... Indexes> template<typename RandomAccessIterator, typename Result, sprout::index_t... Indexes>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type rotate_copy_impl_ra( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type rotate_copy_impl_ra(
RandomAccessIterator first, RandomAccessIterator first,
RandomAccessIterator middle, RandomAccessIterator middle,
RandomAccessIterator last, RandomAccessIterator last,
@ -40,7 +40,7 @@ namespace sprout {
); );
} }
template<typename RandomAccessIterator, typename Result> template<typename RandomAccessIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type rotate_copy( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type rotate_copy(
RandomAccessIterator first, RandomAccessIterator first,
RandomAccessIterator middle, RandomAccessIterator middle,
RandomAccessIterator last, RandomAccessIterator last,
@ -60,7 +60,7 @@ namespace sprout {
); );
} }
template<typename ForwardIterator, typename Result, typename... Args> template<typename ForwardIterator, typename Result, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args), sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type rotate_copy_impl_1( >::type rotate_copy_impl_1(
@ -74,7 +74,7 @@ namespace sprout {
return sprout::remake<Result>(result, sprout::size(result), args...); return sprout::remake<Result>(result, sprout::size(result), args...);
} }
template<typename ForwardIterator, typename Result, typename... Args> template<typename ForwardIterator, typename Result, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args), sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type rotate_copy_impl_1( >::type rotate_copy_impl_1(
@ -91,7 +91,7 @@ namespace sprout {
; ;
} }
template<typename ForwardIterator, typename Result, typename... Args> template<typename ForwardIterator, typename Result, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args), sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type rotate_copy_impl( >::type rotate_copy_impl(
@ -107,7 +107,7 @@ namespace sprout {
return sprout::remake<Result>(result, sprout::size(result), args...); return sprout::remake<Result>(result, sprout::size(result), args...);
} }
template<typename ForwardIterator, typename Result, typename... Args> template<typename ForwardIterator, typename Result, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args), sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type rotate_copy_impl( >::type rotate_copy_impl(
@ -126,7 +126,7 @@ namespace sprout {
; ;
} }
template<typename ForwardIterator, typename Result> template<typename ForwardIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type rotate_copy( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type rotate_copy(
ForwardIterator first, ForwardIterator first,
ForwardIterator middle, ForwardIterator middle,
ForwardIterator last, ForwardIterator last,
@ -141,7 +141,7 @@ namespace sprout {
// rotate_copy // rotate_copy
// //
template<typename ForwardIterator, typename Result> template<typename ForwardIterator, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type rotate_copy( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type rotate_copy(
ForwardIterator first, ForwardIterator first,
ForwardIterator middle, ForwardIterator middle,
ForwardIterator last, ForwardIterator last,

View file

@ -14,7 +14,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args), sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type set_difference_impl( >::type set_difference_impl(
@ -31,7 +31,7 @@ namespace sprout {
return sprout::remake<Result>(result, sprout::size(result), args...); return sprout::remake<Result>(result, sprout::size(result), args...);
} }
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args), sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type set_difference_impl( >::type set_difference_impl(
@ -65,7 +65,7 @@ namespace sprout {
// set_difference // set_difference
// //
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_difference( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_difference(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,
@ -88,7 +88,7 @@ namespace sprout {
// set_difference // set_difference
// //
template<typename InputIterator1, typename InputIterator2, typename Result> template<typename InputIterator1, typename InputIterator2, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_difference( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_difference(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,

View file

@ -14,7 +14,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args), sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type set_intersection_impl( >::type set_intersection_impl(
@ -31,7 +31,7 @@ namespace sprout {
return sprout::remake<Result>(result, sprout::size(result), args...); return sprout::remake<Result>(result, sprout::size(result), args...);
} }
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args), sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type set_intersection_impl( >::type set_intersection_impl(
@ -65,7 +65,7 @@ namespace sprout {
// set_intersection // set_intersection
// //
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_intersection( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_intersection(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,
@ -88,7 +88,7 @@ namespace sprout {
// set_intersection // set_intersection
// //
template<typename InputIterator1, typename InputIterator2, typename Result> template<typename InputIterator1, typename InputIterator2, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_intersection( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_intersection(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,

View file

@ -14,7 +14,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args), sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type set_symmetric_difference_impl( >::type set_symmetric_difference_impl(
@ -31,7 +31,7 @@ namespace sprout {
return sprout::remake<Result>(result, sprout::size(result), args...); return sprout::remake<Result>(result, sprout::size(result), args...);
} }
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args), sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type set_symmetric_difference_impl( >::type set_symmetric_difference_impl(
@ -65,7 +65,7 @@ namespace sprout {
// set_symmetric_difference // set_symmetric_difference
// //
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_symmetric_difference( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_symmetric_difference(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,
@ -88,7 +88,7 @@ namespace sprout {
// set_symmetric_difference // set_symmetric_difference
// //
template<typename InputIterator1, typename InputIterator2, typename Result> template<typename InputIterator1, typename InputIterator2, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_symmetric_difference( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_symmetric_difference(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,

View file

@ -14,7 +14,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size == sizeof...(Args), sprout::container_traits<Result>::static_size == sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type set_union_impl( >::type set_union_impl(
@ -31,7 +31,7 @@ namespace sprout {
return sprout::remake<Result>(result, sprout::size(result), args...); return sprout::remake<Result>(result, sprout::size(result), args...);
} }
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare, typename... Args>
SPROUT_CONSTEXPR inline typename std::enable_if< inline SPROUT_CONSTEXPR typename std::enable_if<
sprout::container_traits<Result>::static_size != sizeof...(Args), sprout::container_traits<Result>::static_size != sizeof...(Args),
typename sprout::fixed::result_of::algorithm<Result>::type typename sprout::fixed::result_of::algorithm<Result>::type
>::type set_union_impl( >::type set_union_impl(
@ -65,7 +65,7 @@ namespace sprout {
// set_union // set_union
// //
template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare> template<typename InputIterator1, typename InputIterator2, typename Result, typename Compare>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_union( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_union(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,
@ -88,7 +88,7 @@ namespace sprout {
// set_union // set_union
// //
template<typename InputIterator1, typename InputIterator2, typename Result> template<typename InputIterator1, typename InputIterator2, typename Result>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type set_union( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type set_union(
InputIterator1 first1, InputIterator1 first1,
InputIterator1 last1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 first2,

View file

@ -20,7 +20,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<std::size_t N, typename Random> template<std::size_t N, typename Random>
SPROUT_CONSTEXPR inline sprout::array<std::ptrdiff_t, N> make_shuffle_indexes_1( inline SPROUT_CONSTEXPR sprout::array<std::ptrdiff_t, N> make_shuffle_indexes_1(
std::ptrdiff_t n, std::ptrdiff_t n,
Random const& rnd, Random const& rnd,
sprout::array<std::ptrdiff_t, N> const& arr, sprout::array<std::ptrdiff_t, N> const& arr,
@ -38,7 +38,7 @@ namespace sprout {
; ;
} }
template<std::size_t N, typename UniformRandomNumberGenerator> template<std::size_t N, typename UniformRandomNumberGenerator>
SPROUT_CONSTEXPR inline sprout::array<std::ptrdiff_t, N> make_shuffle_indexes( inline SPROUT_CONSTEXPR sprout::array<std::ptrdiff_t, N> make_shuffle_indexes(
std::ptrdiff_t n, std::ptrdiff_t n,
UniformRandomNumberGenerator&& g UniformRandomNumberGenerator&& g
) )
@ -54,7 +54,7 @@ namespace sprout {
; ;
} }
template<typename Container, typename Shuffled, sprout::index_t... Indexes> template<typename Container, typename Shuffled, sprout::index_t... Indexes>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type shuffle_impl_1( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type shuffle_impl_1(
Container const& cont, Container const& cont,
sprout::index_tuple<Indexes...>, sprout::index_tuple<Indexes...>,
Shuffled const& shuffled, Shuffled const& shuffled,
@ -72,7 +72,7 @@ namespace sprout {
); );
} }
template<typename Container, typename UniformRandomNumberGenerator, sprout::index_t... Indexes> template<typename Container, typename UniformRandomNumberGenerator, sprout::index_t... Indexes>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type shuffle_impl( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type shuffle_impl(
Container const& cont, Container const& cont,
sprout::index_tuple<Indexes...> indexes, sprout::index_tuple<Indexes...> indexes,
UniformRandomNumberGenerator&& g, UniformRandomNumberGenerator&& g,
@ -96,7 +96,7 @@ namespace sprout {
// shuffle // shuffle
// //
template<typename Container, typename UniformRandomNumberGenerator> template<typename Container, typename UniformRandomNumberGenerator>
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type shuffle( inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type shuffle(
Container const& cont, Container const& cont,
UniformRandomNumberGenerator&& g UniformRandomNumberGenerator&& g
) )

View file

@ -21,7 +21,7 @@ namespace sprout {
namespace fixed { namespace fixed {
namespace detail { namespace detail {
template<typename UniformRandomNumberGenerator, std::size_t N, typename Random> template<typename UniformRandomNumberGenerator, std::size_t N, typename Random>
SPROUT_CONSTEXPR inline sprout::tuples::tuple< inline SPROUT_CONSTEXPR sprout::tuples::tuple<
sprout::array<std::ptrdiff_t, N>, sprout::array<std::ptrdiff_t, N>,
typename std::decay<UniformRandomNumberGenerator>::type typename std::decay<UniformRandomNumberGenerator>::type
> make_shuffle_result_indexes_1( > make_shuffle_result_indexes_1(
@ -49,7 +49,7 @@ namespace sprout {
; ;
} }
template<std::size_t N, typename UniformRandomNumberGenerator> template<std::size_t N, typename UniformRandomNumberGenerator>
SPROUT_CONSTEXPR inline sprout::tuples::tuple< inline SPROUT_CONSTEXPR sprout::tuples::tuple<
sprout::array<std::ptrdiff_t, N>, sprout::array<std::ptrdiff_t, N>,
typename std::decay<UniformRandomNumberGenerator>::type typename std::decay<UniformRandomNumberGenerator>::type
> make_shuffle_result_indexes( > make_shuffle_result_indexes(
@ -75,7 +75,7 @@ namespace sprout {
; ;
} }
template<typename UniformRandomNumberGenerator, typename Container, typename Shuffled, sprout::index_t... Indexes> template<typename UniformRandomNumberGenerator, typename Container, typename Shuffled, sprout::index_t... Indexes>
SPROUT_CONSTEXPR inline sprout::tuples::tuple< inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fixed::result_of::algorithm<Container>::type, typename sprout::fixed::result_of::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type typename std::decay<UniformRandomNumberGenerator>::type
> shuffle_result_impl_1( > shuffle_result_impl_1(
@ -103,7 +103,7 @@ namespace sprout {
); );
} }
template<typename Container, typename UniformRandomNumberGenerator, sprout::index_t... Indexes> template<typename Container, typename UniformRandomNumberGenerator, sprout::index_t... Indexes>
SPROUT_CONSTEXPR inline sprout::tuples::tuple< inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fixed::result_of::algorithm<Container>::type, typename sprout::fixed::result_of::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type typename std::decay<UniformRandomNumberGenerator>::type
> shuffle_result_impl( > shuffle_result_impl(
@ -130,7 +130,7 @@ namespace sprout {
// shuffle_result // shuffle_result
// //
template<typename Container, typename UniformRandomNumberGenerator> template<typename Container, typename UniformRandomNumberGenerator>
SPROUT_CONSTEXPR inline sprout::tuples::tuple< inline SPROUT_CONSTEXPR sprout::tuples::tuple<
typename sprout::fixed::result_of::algorithm<Container>::type, typename sprout::fixed::result_of::algorithm<Container>::type,
typename std::decay<UniformRandomNumberGenerator>::type typename std::decay<UniformRandomNumberGenerator>::type
> shuffle_result( > shuffle_result(

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