mirror of
https://github.com/bolero-MURAKAMI/Sprout
synced 2024-11-12 21:09:01 +00:00
fix generate, unfold
This commit is contained in:
parent
10e9a7679d
commit
a9308ae3ee
8 changed files with 24 additions and 24 deletions
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
template<typename Container, typename Generator>
|
template<typename Container, typename Generator>
|
||||||
inline SPROUT_CONSTEXPR 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 const& gen,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
@ -31,7 +31,7 @@ namespace sprout {
|
||||||
template<typename Container, typename Generator>
|
template<typename Container, typename Generator>
|
||||||
inline SPROUT_CONSTEXPR 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 const& gen
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return sprout::fit::detail::generate_impl(cont, gen, sprout::internal_begin_offset(cont));
|
return sprout::fit::detail::generate_impl(cont, gen, sprout::internal_begin_offset(cont));
|
||||||
|
|
|
@ -15,7 +15,7 @@ namespace sprout {
|
||||||
template<typename Container, typename Size, typename Generator>
|
template<typename Container, typename Size, typename Generator>
|
||||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
|
||||||
generate_n_impl(
|
generate_n_impl(
|
||||||
Container const& cont, Size n, Generator gen,
|
Container const& cont, Size n, Generator const& gen,
|
||||||
typename sprout::container_traits<Container>::difference_type offset
|
typename sprout::container_traits<Container>::difference_type offset
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
@ -31,7 +31,7 @@ namespace sprout {
|
||||||
//
|
//
|
||||||
template<typename Container, typename Size, typename Generator>
|
template<typename Container, typename Size, typename Generator>
|
||||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type
|
||||||
generate_n(Container const& cont, Size n, Generator gen) {
|
generate_n(Container const& cont, Size n, Generator const& gen) {
|
||||||
return sprout::fit::detail::generate_n_impl(cont, n, gen, sprout::internal_begin_offset(cont));
|
return sprout::fit::detail::generate_n_impl(cont, n, gen, sprout::internal_begin_offset(cont));
|
||||||
}
|
}
|
||||||
} // namespace fit
|
} // namespace fit
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace sprout {
|
||||||
template<typename Container, typename Generator, typename... Inits>
|
template<typename Container, typename Generator, typename... Inits>
|
||||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type unfold_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type unfold_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Generator gen,
|
Generator const& gen,
|
||||||
typename sprout::container_traits<Container>::difference_type offset,
|
typename sprout::container_traits<Container>::difference_type offset,
|
||||||
Inits const&... inits
|
Inits const&... inits
|
||||||
)
|
)
|
||||||
|
@ -32,7 +32,7 @@ namespace sprout {
|
||||||
template<typename Container, typename Generator, typename... Inits>
|
template<typename Container, typename Generator, typename... Inits>
|
||||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type unfold(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type unfold(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Generator gen,
|
Generator const& gen,
|
||||||
Inits const&... inits
|
Inits const&... inits
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,7 +16,7 @@ namespace sprout {
|
||||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type unfold_n_impl(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type unfold_n_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Size n,
|
Size n,
|
||||||
Generator gen,
|
Generator const& gen,
|
||||||
typename sprout::container_traits<Container>::difference_type offset,
|
typename sprout::container_traits<Container>::difference_type offset,
|
||||||
Inits const&... inits
|
Inits const&... inits
|
||||||
)
|
)
|
||||||
|
@ -35,7 +35,7 @@ namespace sprout {
|
||||||
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type unfold_n(
|
inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm<Container>::type unfold_n(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Size n,
|
Size n,
|
||||||
Generator gen,
|
Generator const& gen,
|
||||||
Inits const&... inits
|
Inits const&... inits
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
|
@ -49,7 +49,7 @@ namespace sprout {
|
||||||
sprout::container_traits<Container>::static_size == 0,
|
sprout::container_traits<Container>::static_size == 0,
|
||||||
typename sprout::fixed::result_of::algorithm<Container>::type
|
typename sprout::fixed::result_of::algorithm<Container>::type
|
||||||
>::type generate_impl(
|
>::type generate_impl(
|
||||||
Container const& cont, Generator gen,
|
Container const& cont, Generator const& gen,
|
||||||
typename sprout::container_traits<Container>::size_type size
|
typename sprout::container_traits<Container>::size_type size
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
@ -61,7 +61,7 @@ namespace sprout {
|
||||||
typename sprout::fixed::result_of::algorithm<Container>::type
|
typename sprout::fixed::result_of::algorithm<Container>::type
|
||||||
>::type
|
>::type
|
||||||
generate_impl(
|
generate_impl(
|
||||||
Container const& cont, Generator gen,
|
Container const& cont, Generator const& gen,
|
||||||
typename sprout::container_traits<Container>::size_type size
|
typename sprout::container_traits<Container>::size_type size
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
@ -76,7 +76,7 @@ namespace sprout {
|
||||||
//
|
//
|
||||||
template<typename Container, typename Generator>
|
template<typename Container, typename Generator>
|
||||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
|
||||||
generate(Container const& cont, Generator gen) {
|
generate(Container const& cont, Generator const& gen) {
|
||||||
return sprout::fixed::detail::generate_impl(cont, gen, sprout::size(cont));
|
return sprout::fixed::detail::generate_impl(cont, gen, sprout::size(cont));
|
||||||
}
|
}
|
||||||
} // namespace fixed
|
} // namespace fixed
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
||||||
//
|
//
|
||||||
template<typename Container, typename Size, typename Generator>
|
template<typename Container, typename Size, typename Generator>
|
||||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type
|
||||||
generate_n(Container const& cont, Size n, Generator gen) {
|
generate_n(Container const& cont, Size n, Generator const& gen) {
|
||||||
return sprout::fixed::detail::generate_impl(cont, gen, n);
|
return sprout::fixed::detail::generate_impl(cont, gen, n);
|
||||||
}
|
}
|
||||||
} // namespace fixed
|
} // namespace fixed
|
||||||
|
|
|
@ -18,7 +18,7 @@ namespace sprout {
|
||||||
InitSize == 0,
|
InitSize == 0,
|
||||||
typename sprout::container_traits<Container>::value_type
|
typename sprout::container_traits<Container>::value_type
|
||||||
>::type call_gen(
|
>::type call_gen(
|
||||||
Generator gen,
|
Generator const& gen,
|
||||||
Args const&... args
|
Args const&... args
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
@ -29,7 +29,7 @@ namespace sprout {
|
||||||
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(
|
||||||
Generator gen,
|
Generator const& gen,
|
||||||
Head const& head,
|
Head const& head,
|
||||||
Args const&... args
|
Args const&... args
|
||||||
)
|
)
|
||||||
|
@ -41,7 +41,7 @@ namespace sprout {
|
||||||
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(
|
||||||
Generator gen,
|
Generator const& gen,
|
||||||
Head const& head,
|
Head const& head,
|
||||||
Args const&... args
|
Args const&... args
|
||||||
)
|
)
|
||||||
|
@ -51,7 +51,7 @@ namespace sprout {
|
||||||
template<typename Container, typename Generator>
|
template<typename Container, typename Generator>
|
||||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type unfold_impl_drop(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type unfold_impl_drop(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Generator gen,
|
Generator const& gen,
|
||||||
typename sprout::container_traits<Container>::size_type size
|
typename sprout::container_traits<Container>::size_type size
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
@ -63,7 +63,7 @@ namespace sprout {
|
||||||
typename sprout::fixed::result_of::algorithm<Container>::type
|
typename sprout::fixed::result_of::algorithm<Container>::type
|
||||||
>::type unfold_impl_drop(
|
>::type unfold_impl_drop(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Generator gen,
|
Generator const& gen,
|
||||||
typename sprout::container_traits<Container>::size_type size,
|
typename sprout::container_traits<Container>::size_type size,
|
||||||
Head const& head,
|
Head const& head,
|
||||||
Inits const&... inits
|
Inits const&... inits
|
||||||
|
@ -80,7 +80,7 @@ namespace sprout {
|
||||||
typename sprout::fixed::result_of::algorithm<Container>::type
|
typename sprout::fixed::result_of::algorithm<Container>::type
|
||||||
>::type unfold_impl_drop(
|
>::type unfold_impl_drop(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Generator gen,
|
Generator const& gen,
|
||||||
typename sprout::container_traits<Container>::size_type size,
|
typename sprout::container_traits<Container>::size_type size,
|
||||||
Head const& head,
|
Head const& head,
|
||||||
Inits const&... inits
|
Inits const&... inits
|
||||||
|
@ -94,7 +94,7 @@ namespace sprout {
|
||||||
typename sprout::fixed::result_of::algorithm<Container>::type
|
typename sprout::fixed::result_of::algorithm<Container>::type
|
||||||
>::type unfold_impl_1(
|
>::type unfold_impl_1(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Generator gen,
|
Generator const& gen,
|
||||||
typename sprout::container_traits<Container>::size_type size,
|
typename sprout::container_traits<Container>::size_type size,
|
||||||
Args const&... args
|
Args const&... args
|
||||||
)
|
)
|
||||||
|
@ -107,7 +107,7 @@ namespace sprout {
|
||||||
typename sprout::fixed::result_of::algorithm<Container>::type
|
typename sprout::fixed::result_of::algorithm<Container>::type
|
||||||
>::type unfold_impl_1(
|
>::type unfold_impl_1(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Generator gen,
|
Generator const& gen,
|
||||||
typename sprout::container_traits<Container>::size_type size,
|
typename sprout::container_traits<Container>::size_type size,
|
||||||
Args const&... args
|
Args const&... args
|
||||||
)
|
)
|
||||||
|
@ -123,7 +123,7 @@ namespace sprout {
|
||||||
typename sprout::fixed::result_of::algorithm<Container>::type
|
typename sprout::fixed::result_of::algorithm<Container>::type
|
||||||
>::type unfold_impl(
|
>::type unfold_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Generator gen,
|
Generator const& gen,
|
||||||
typename sprout::container_traits<Container>::size_type size,
|
typename sprout::container_traits<Container>::size_type size,
|
||||||
Inits const&... inits
|
Inits const&... inits
|
||||||
)
|
)
|
||||||
|
@ -139,7 +139,7 @@ namespace sprout {
|
||||||
typename sprout::fixed::result_of::algorithm<Container>::type
|
typename sprout::fixed::result_of::algorithm<Container>::type
|
||||||
>::type unfold_impl(
|
>::type unfold_impl(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Generator gen,
|
Generator const& gen,
|
||||||
typename sprout::container_traits<Container>::size_type size,
|
typename sprout::container_traits<Container>::size_type size,
|
||||||
Inits const&... inits
|
Inits const&... inits
|
||||||
)
|
)
|
||||||
|
@ -153,7 +153,7 @@ namespace sprout {
|
||||||
template<typename Container, typename Generator, typename... Inits>
|
template<typename Container, typename Generator, typename... Inits>
|
||||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type unfold(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type unfold(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Generator gen,
|
Generator const& gen,
|
||||||
Inits const&... inits
|
Inits const&... inits
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
|
@ -15,7 +15,7 @@ namespace sprout {
|
||||||
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type unfold_n(
|
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::algorithm<Container>::type unfold_n(
|
||||||
Container const& cont,
|
Container const& cont,
|
||||||
Size n,
|
Size n,
|
||||||
Generator gen,
|
Generator const& gen,
|
||||||
Inits const&... inits
|
Inits const&... inits
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue