1
0
Fork 0
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:
bolero-MURAKAMI 2012-09-27 22:15:29 +09:00
parent 10e9a7679d
commit a9308ae3ee
8 changed files with 24 additions and 24 deletions

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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