forked from OctaForge/libostd
add algorithm::is_partitioned
This commit is contained in:
parent
ed0b28f2e0
commit
c4aa7242fc
|
@ -24,6 +24,14 @@ namespace octa {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<typename R, typename P>
|
||||||
|
bool is_partitioned(R range, P pred) {
|
||||||
|
for (; !range.empty() && pred(range.first()); range.pop_first());
|
||||||
|
for (; !range.empty(); range.pop_first())
|
||||||
|
if (pred(range.first())) return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
template<typename R, typename C>
|
template<typename R, typename C>
|
||||||
void insertion_sort(R range, C compare) {
|
void insertion_sort(R range, C compare) {
|
||||||
size_t rlen = range.length();
|
size_t rlen = range.length();
|
||||||
|
|
Loading…
Reference in a new issue