mirror of
https://github.com/bolero-MURAKAMI/Sprout
synced 2025-10-05 13:00:00 +00:00
fix recursion depth O(logN): some algorithms
This commit is contained in:
parent
28697ee7a8
commit
5019f6aa96
162 changed files with 3600 additions and 1659 deletions
|
@ -6,7 +6,6 @@
|
|||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/iterator/operation.hpp>
|
||||
#include HDR_ITERATOR_SSCRISK_CEL_OR_SPROUT
|
||||
|
||||
namespace sprout {
|
||||
namespace fixed {
|
||||
|
@ -66,7 +65,7 @@ namespace sprout {
|
|||
0,
|
||||
sprout::container_traits<typename sprout::fixed::result_of::append<Container, Input>::type>::static_size
|
||||
>::make(),
|
||||
NS_SSCRISK_CEL_OR_SPROUT::distance(sprout::internal_begin(cont), pos),
|
||||
sprout::distance(sprout::internal_begin(cont), pos),
|
||||
sprout::size(input),
|
||||
input
|
||||
);
|
||||
|
@ -84,7 +83,7 @@ namespace sprout {
|
|||
0,
|
||||
sprout::container_traits<typename sprout::fixed::result_of::append<Container, Input>::type>::static_size
|
||||
>::make(),
|
||||
NS_SSCRISK_CEL_OR_SPROUT::distance(sprout::internal_begin(cont), sprout::next(sprout::begin(cont), pos)),
|
||||
sprout::distance(sprout::internal_begin(cont), sprout::next(sprout::begin(cont), pos)),
|
||||
sprout::size(input),
|
||||
input
|
||||
);
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/iterator/operation.hpp>
|
||||
#include HDR_ITERATOR_SSCRISK_CEL_OR_SPROUT
|
||||
|
||||
namespace sprout {
|
||||
namespace fixed {
|
||||
|
@ -59,7 +58,7 @@ namespace sprout {
|
|||
0,
|
||||
sprout::container_traits<typename sprout::fixed::result_of::erase<Container>::type>::static_size
|
||||
>::make(),
|
||||
NS_SSCRISK_CEL_OR_SPROUT::distance(sprout::internal_begin(cont), pos)
|
||||
sprout::distance(sprout::internal_begin(cont), pos)
|
||||
);
|
||||
}
|
||||
//
|
||||
|
@ -74,7 +73,7 @@ namespace sprout {
|
|||
0,
|
||||
sprout::container_traits<typename sprout::fixed::result_of::erase<Container>::type>::static_size
|
||||
>::make(),
|
||||
NS_SSCRISK_CEL_OR_SPROUT::distance(sprout::internal_begin(cont), sprout::next(sprout::begin(cont), pos))
|
||||
sprout::distance(sprout::internal_begin(cont), sprout::next(sprout::begin(cont), pos))
|
||||
);
|
||||
}
|
||||
} // namespace fixed
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/iterator/operation.hpp>
|
||||
#include HDR_ITERATOR_SSCRISK_CEL_OR_SPROUT
|
||||
|
||||
namespace sprout {
|
||||
namespace fixed {
|
||||
|
@ -60,7 +59,7 @@ namespace sprout {
|
|||
0,
|
||||
sprout::container_traits<typename sprout::fixed::result_of::erase_n<N, Container>::type>::static_size
|
||||
>::make(),
|
||||
NS_SSCRISK_CEL_OR_SPROUT::distance(sprout::internal_begin(cont), pos)
|
||||
sprout::distance(sprout::internal_begin(cont), pos)
|
||||
);
|
||||
}
|
||||
template<std::size_t N, typename Container>
|
||||
|
@ -72,7 +71,7 @@ namespace sprout {
|
|||
0,
|
||||
sprout::container_traits<typename sprout::fixed::result_of::erase_n<N, Container>::type>::static_size
|
||||
>::make(),
|
||||
NS_SSCRISK_CEL_OR_SPROUT::distance(sprout::internal_begin(cont), sprout::next(sprout::begin(cont), pos))
|
||||
sprout::distance(sprout::internal_begin(cont), sprout::next(sprout::begin(cont), pos))
|
||||
);
|
||||
}
|
||||
} // namespace fixed
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/iterator/operation.hpp>
|
||||
#include <sprout/detail/param_at.hpp>
|
||||
#include HDR_ITERATOR_SSCRISK_CEL_OR_SPROUT
|
||||
|
||||
namespace sprout {
|
||||
namespace fixed {
|
||||
|
@ -66,7 +65,7 @@ namespace sprout {
|
|||
0,
|
||||
sprout::container_traits<typename sprout::fixed::result_of::insert<Container, T, Values...>::type>::static_size
|
||||
>::make(),
|
||||
NS_SSCRISK_CEL_OR_SPROUT::distance(sprout::internal_begin(cont), pos),
|
||||
sprout::distance(sprout::internal_begin(cont), pos),
|
||||
v,
|
||||
values...
|
||||
);
|
||||
|
@ -84,7 +83,7 @@ namespace sprout {
|
|||
0,
|
||||
sprout::container_traits<typename sprout::fixed::result_of::insert<Container, T, Values...>::type>::static_size
|
||||
>::make(),
|
||||
NS_SSCRISK_CEL_OR_SPROUT::distance(sprout::internal_begin(cont), sprout::next(sprout::begin(cont), pos)),
|
||||
sprout::distance(sprout::internal_begin(cont), sprout::next(sprout::begin(cont), pos)),
|
||||
v,
|
||||
values...
|
||||
);
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
#include <sprout/iterator/operation.hpp>
|
||||
#include <sprout/operation/fixed/insert.hpp>
|
||||
#include <sprout/detail/param_at.hpp>
|
||||
#include HDR_ITERATOR_SSCRISK_CEL_OR_SPROUT
|
||||
|
||||
namespace sprout {
|
||||
namespace fixed {
|
||||
|
@ -69,7 +68,7 @@ namespace sprout {
|
|||
0,
|
||||
sprout::container_traits<typename sprout::fixed::result_of::insert_n<N, Container, T, Values...>::type>::static_size
|
||||
>::make(),
|
||||
NS_SSCRISK_CEL_OR_SPROUT::distance(sprout::internal_begin(cont), pos),
|
||||
sprout::distance(sprout::internal_begin(cont), pos),
|
||||
v,
|
||||
values...
|
||||
);
|
||||
|
@ -90,7 +89,7 @@ namespace sprout {
|
|||
0,
|
||||
sprout::container_traits<typename sprout::fixed::result_of::insert_n<N, Container, T, Values...>::type>::static_size
|
||||
>::make(),
|
||||
NS_SSCRISK_CEL_OR_SPROUT::distance(sprout::internal_begin(cont), sprout::next(sprout::begin(cont), pos)),
|
||||
sprout::distance(sprout::internal_begin(cont), sprout::next(sprout::begin(cont), pos)),
|
||||
v,
|
||||
values...
|
||||
);
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/iterator/operation.hpp>
|
||||
#include HDR_ITERATOR_SSCRISK_CEL_OR_SPROUT
|
||||
|
||||
namespace sprout {
|
||||
namespace fixed {
|
||||
|
@ -51,7 +50,7 @@ namespace sprout {
|
|||
0,
|
||||
sprout::container_traits<typename sprout::fixed::result_of::set<Container, T>::type>::static_size
|
||||
>::make(),
|
||||
NS_SSCRISK_CEL_OR_SPROUT::distance(sprout::internal_begin(cont), pos),
|
||||
sprout::distance(sprout::internal_begin(cont), pos),
|
||||
v
|
||||
);
|
||||
}
|
||||
|
@ -64,7 +63,7 @@ namespace sprout {
|
|||
0,
|
||||
sprout::container_traits<typename sprout::fixed::result_of::set<Container, T>::type>::static_size
|
||||
>::make(),
|
||||
NS_SSCRISK_CEL_OR_SPROUT::distance(sprout::internal_begin(cont), sprout::next(sprout::begin(cont), pos)),
|
||||
sprout::distance(sprout::internal_begin(cont), sprout::next(sprout::begin(cont), pos)),
|
||||
v
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue