1
0
Fork 0
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:
bolero-MURAKAMI 2012-04-04 22:23:41 +09:00
commit c6bd230ee4
340 changed files with 1087 additions and 979 deletions

View file

@ -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

View file

@ -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,

View file

@ -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
)

View file

@ -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,

View file

@ -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,

View file

@ -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
)

View file

@ -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,

View file

@ -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,