50 template <
class Container>
52 typename Container::Key_Type v,
53 bool (&op)(
typename Container::Key_Type &))
55 typename Container::Key_Type;
56 { c.traverse(op) } -> std::convertible_to<bool>;
59 { c.size() } -> std::convertible_to<size_t>;
72 class Compare = std::less<typename Container::Key_Type>>
76 using Key =
typename Container::Key_Type;
78 std::set<Key, Compare>
seen(
cmp);
85 { x.capacity() } -> std::convertible_to<size_t>;
88 if (
clean.capacity() < c.size())
89 clean.reserve(c.size());
91 c.traverse([&](Key & item)
93 if (
seen.contains(item))
C++20 concepts for constraining comparison functors.
Concept for Aleph sequential containers with traversal and append semantics.
Strict weak ordering constraint for BST comparators.
int cmp(const __gmp_expr< T, U > &expr1, const __gmp_expr< V, W > &expr2)
Main namespace for Aleph-w library functions.
void in_place_unique(Container &c, Compare cmp={})
Remove duplicates in-place preserving first occurrence order.
Divide_Conquer_DP_Result< Cost > divide_and_conquer_partition_dp(const size_t groups, const size_t n, Transition_Cost_Fn transition_cost, const Cost inf=dp_optimization_detail::default_inf< Cost >())
Optimize partition DP using divide-and-conquer optimization.