mirror of
https://github.com/bolero-MURAKAMI/Sprout
synced 2025-10-05 13:00:00 +00:00
fix inline
add container/indexes.hpp add tuple/indexes.hpp
This commit is contained in:
parent
ba6482d1ec
commit
c6bd230ee4
340 changed files with 1087 additions and 979 deletions
|
@ -10,14 +10,14 @@ namespace sprout {
|
|||
|
||||
// 26.7.2 Accumulate
|
||||
template<typename InputIterator, typename T, typename BinaryOperation>
|
||||
SPROUT_CONSTEXPR T accumulate(InputIterator first, InputIterator last, T init, BinaryOperation binary_op) {
|
||||
inline SPROUT_CONSTEXPR T accumulate(InputIterator first, InputIterator last, T init, BinaryOperation binary_op) {
|
||||
return first == last ? init
|
||||
: sprout::accumulate(sprout::next(first), last, binary_op(init, *first), binary_op)
|
||||
;
|
||||
}
|
||||
|
||||
template<typename InputIterator, typename T>
|
||||
SPROUT_CONSTEXPR T accumulate(InputIterator first, InputIterator last, T init) {
|
||||
inline SPROUT_CONSTEXPR T accumulate(InputIterator first, InputIterator last, T init) {
|
||||
return sprout::accumulate(first, last, init, NS_SSCRISK_CEL_OR_SPROUT::plus<typename std::iterator_traits<InputIterator>::value_type>());
|
||||
}
|
||||
} // namespace sprout
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
namespace fit {
|
||||
namespace detail {
|
||||
template<typename InputIterator, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type adjacent_difference_impl(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type adjacent_difference_impl(
|
||||
InputIterator first,
|
||||
InputIterator last,
|
||||
Result const& result,
|
||||
|
@ -32,7 +32,7 @@ namespace sprout {
|
|||
// adjacent_difference
|
||||
//
|
||||
template<typename InputIterator, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type adjacent_difference(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type adjacent_difference(
|
||||
InputIterator first,
|
||||
InputIterator last,
|
||||
Result const& result
|
||||
|
@ -43,7 +43,7 @@ namespace sprout {
|
|||
|
||||
namespace detail {
|
||||
template<typename InputIterator, typename Result, typename BinaryOperation>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type adjacent_difference_impl(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type adjacent_difference_impl(
|
||||
InputIterator first,
|
||||
InputIterator last,
|
||||
Result const& result,
|
||||
|
@ -62,7 +62,7 @@ namespace sprout {
|
|||
// adjacent_difference
|
||||
//
|
||||
template<typename InputIterator, typename Result, typename BinaryOperation>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type adjacent_difference(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type adjacent_difference(
|
||||
InputIterator first,
|
||||
InputIterator last,
|
||||
Result const& result,
|
||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
|||
namespace fit {
|
||||
namespace detail {
|
||||
template<typename Container, typename T>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type iota_impl(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type iota_impl(
|
||||
Container const& cont,
|
||||
T const& value,
|
||||
typename sprout::container_traits<Container>::difference_type offset
|
||||
|
@ -29,7 +29,7 @@ namespace sprout {
|
|||
// iota
|
||||
//
|
||||
template<typename Container, typename T>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Container>::type iota(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type iota(
|
||||
Container const& cont,
|
||||
T const& value
|
||||
)
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
|||
namespace fit {
|
||||
namespace detail {
|
||||
template<typename InputIterator, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type partial_sum_impl(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type partial_sum_impl(
|
||||
InputIterator first,
|
||||
InputIterator last,
|
||||
Result const& result,
|
||||
|
@ -32,7 +32,7 @@ namespace sprout {
|
|||
// partial_sum
|
||||
//
|
||||
template<typename InputIterator, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type partial_sum(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type partial_sum(
|
||||
InputIterator first,
|
||||
InputIterator last,
|
||||
Result const& result
|
||||
|
@ -43,7 +43,7 @@ namespace sprout {
|
|||
|
||||
namespace detail {
|
||||
template<typename InputIterator, typename Result, typename BinaryOperation>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type partial_sum_impl(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type partial_sum_impl(
|
||||
InputIterator first,
|
||||
InputIterator last,
|
||||
Result const& result,
|
||||
|
@ -62,7 +62,7 @@ namespace sprout {
|
|||
// partial_sum
|
||||
//
|
||||
template<typename InputIterator, typename Result, typename BinaryOperation>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::algorithm<Result>::type partial_sum(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Result>::type partial_sum(
|
||||
InputIterator first,
|
||||
InputIterator last,
|
||||
Result const& result,
|
||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
|||
namespace fixed {
|
||||
namespace detail {
|
||||
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),
|
||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||
>::type adjacent_difference_impl_1(
|
||||
|
@ -27,7 +27,7 @@ namespace sprout {
|
|||
return sprout::remake<Result>(result, sprout::size(result), 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),
|
||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||
>::type adjacent_difference_impl_1(
|
||||
|
@ -45,7 +45,7 @@ namespace sprout {
|
|||
;
|
||||
}
|
||||
template<typename InputIterator, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
||||
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||
sprout::container_traits<Result>::static_size == 0,
|
||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||
>::type adjacent_difference_impl(
|
||||
|
@ -58,7 +58,7 @@ namespace sprout {
|
|||
return sprout::remake<Result>(result, sprout::size(result));
|
||||
}
|
||||
template<typename InputIterator, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
||||
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||
sprout::container_traits<Result>::static_size != 0,
|
||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||
>::type adjacent_difference_impl_1(
|
||||
|
@ -78,7 +78,7 @@ namespace sprout {
|
|||
// adjacent_difference
|
||||
//
|
||||
template<typename InputIterator, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type adjacent_difference(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type adjacent_difference(
|
||||
InputIterator first,
|
||||
InputIterator last,
|
||||
Result const& result
|
||||
|
@ -89,7 +89,7 @@ namespace sprout {
|
|||
|
||||
namespace detail {
|
||||
template<typename InputIterator, typename Result, typename BinaryOperation, typename... Args>
|
||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
||||
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||
sprout::container_traits<Result>::static_size == sizeof...(Args),
|
||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||
>::type adjacent_difference_impl_1(
|
||||
|
@ -105,7 +105,7 @@ namespace sprout {
|
|||
return sprout::remake<Result>(result, sprout::size(result), args...);
|
||||
}
|
||||
template<typename InputIterator, typename Result, typename BinaryOperation, typename... Args>
|
||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
||||
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||
sprout::container_traits<Result>::static_size != sizeof...(Args),
|
||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||
>::type adjacent_difference_impl_1(
|
||||
|
@ -124,7 +124,7 @@ namespace sprout {
|
|||
;
|
||||
}
|
||||
template<typename InputIterator, typename Result, typename BinaryOperation>
|
||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
||||
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||
sprout::container_traits<Result>::static_size == 0,
|
||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||
>::type adjacent_difference_impl(
|
||||
|
@ -138,7 +138,7 @@ namespace sprout {
|
|||
return sprout::remake<Result>(result, sprout::size(result));
|
||||
}
|
||||
template<typename InputIterator, typename Result, typename BinaryOperation>
|
||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
||||
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||
sprout::container_traits<Result>::static_size != 0,
|
||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||
>::type adjacent_difference_impl_1(
|
||||
|
@ -159,7 +159,7 @@ namespace sprout {
|
|||
// adjacent_difference
|
||||
//
|
||||
template<typename InputIterator, typename Result, typename BinaryOperation>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type adjacent_difference(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type adjacent_difference(
|
||||
InputIterator first,
|
||||
InputIterator last,
|
||||
Result const& result,
|
||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
|||
namespace fixed {
|
||||
namespace detail {
|
||||
template<typename Container, typename T, sprout::index_t... Indexes>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type iota_impl(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type iota_impl(
|
||||
Container const& cont,
|
||||
sprout::index_tuple<Indexes...>,
|
||||
T value,
|
||||
|
@ -34,7 +34,7 @@ namespace sprout {
|
|||
// iota
|
||||
//
|
||||
template<typename Container, typename T>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Container>::type iota(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type iota(
|
||||
Container const& cont,
|
||||
T value
|
||||
)
|
||||
|
|
|
@ -12,7 +12,7 @@ namespace sprout {
|
|||
namespace fixed {
|
||||
namespace detail {
|
||||
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) + 1,
|
||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||
>::type partial_sum_impl_1(
|
||||
|
@ -27,7 +27,7 @@ namespace sprout {
|
|||
return sprout::remake<Result>(result, sprout::size(result), 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) + 1,
|
||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||
>::type partial_sum_impl_1(
|
||||
|
@ -45,7 +45,7 @@ namespace sprout {
|
|||
;
|
||||
}
|
||||
template<typename InputIterator, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
||||
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||
sprout::container_traits<Result>::static_size == 0,
|
||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||
>::type partial_sum_impl(
|
||||
|
@ -58,7 +58,7 @@ namespace sprout {
|
|||
return sprout::remake<Result>(result, sprout::size(result));
|
||||
}
|
||||
template<typename InputIterator, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
||||
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||
sprout::container_traits<Result>::static_size != 0,
|
||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||
>::type partial_sum_impl_1(
|
||||
|
@ -78,7 +78,7 @@ namespace sprout {
|
|||
// partial_sum
|
||||
//
|
||||
template<typename InputIterator, typename Result>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type partial_sum(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type partial_sum(
|
||||
InputIterator first,
|
||||
InputIterator last,
|
||||
Result const& result
|
||||
|
@ -89,7 +89,7 @@ namespace sprout {
|
|||
|
||||
namespace detail {
|
||||
template<typename InputIterator, typename Result, typename BinaryOperation, typename... Args>
|
||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
||||
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||
sprout::container_traits<Result>::static_size == sizeof...(Args) + 1,
|
||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||
>::type partial_sum_impl_1(
|
||||
|
@ -105,7 +105,7 @@ namespace sprout {
|
|||
return sprout::remake<Result>(result, sprout::size(result), args...);
|
||||
}
|
||||
template<typename InputIterator, typename Result, typename BinaryOperation, typename... Args>
|
||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
||||
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||
sprout::container_traits<Result>::static_size != sizeof...(Args) + 1,
|
||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||
>::type partial_sum_impl_1(
|
||||
|
@ -124,7 +124,7 @@ namespace sprout {
|
|||
;
|
||||
}
|
||||
template<typename InputIterator, typename Result, typename BinaryOperation>
|
||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
||||
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||
sprout::container_traits<Result>::static_size == 0,
|
||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||
>::type partial_sum_impl(
|
||||
|
@ -138,7 +138,7 @@ namespace sprout {
|
|||
return sprout::remake<Result>(result, sprout::size(result));
|
||||
}
|
||||
template<typename InputIterator, typename Result, typename BinaryOperation>
|
||||
SPROUT_CONSTEXPR inline typename std::enable_if<
|
||||
inline SPROUT_CONSTEXPR typename std::enable_if<
|
||||
sprout::container_traits<Result>::static_size != 0,
|
||||
typename sprout::fixed::result_of::algorithm<Result>::type
|
||||
>::type partial_sum_impl_1(
|
||||
|
@ -159,7 +159,7 @@ namespace sprout {
|
|||
// partial_sum
|
||||
//
|
||||
template<typename InputIterator, typename Result, typename BinaryOperation>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed::result_of::algorithm<Result>::type partial_sum(
|
||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Result>::type partial_sum(
|
||||
InputIterator first,
|
||||
InputIterator last,
|
||||
Result const& result,
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace sprout {
|
|||
|
||||
// 26.7.3 Inner product
|
||||
template<typename InputIterator1, typename InputIterator2, typename T, typename BinaryOperation1, typename BinaryOperation2>
|
||||
SPROUT_CONSTEXPR T inner_product(
|
||||
inline SPROUT_CONSTEXPR T inner_product(
|
||||
InputIterator1 first1,
|
||||
InputIterator1 last1,
|
||||
InputIterator2 first2,
|
||||
|
@ -33,7 +33,7 @@ namespace sprout {
|
|||
}
|
||||
|
||||
template<typename InputIterator1, typename InputIterator2, typename T>
|
||||
SPROUT_CONSTEXPR T inner_product(
|
||||
inline SPROUT_CONSTEXPR T inner_product(
|
||||
InputIterator1 first1,
|
||||
InputIterator1 last1,
|
||||
InputIterator2 first2,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue