Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
dedekind::sequences::DominanceRefinement< T, OI, Cost, Order > Struct Template Referenceexport

The dominance-refinement predicate of an argmax: x is optimal iff no member x' of the (finite) domain beats it under order∘cost, i.e. \(\forall x' \in \mathrm{dom}.\ \mathrm{order}(\mathrm{cost}(x'), \mathrm{cost}(x))\). A named functor rather than a capturing lambda, so the refinement is an inspectable type carried in the BoundedSet signature argmax returns — the ∀-filter made visible at compile time. More...

Public Member Functions

constexpr bool operator() (const T &x) const
 χ: is x optimal? true iff no member of the (finite) domain beats it under order∘cost, i.e. \(\forall x' \in \mathrm{dom}.\ \mathrm{order}(\mathrm{cost}(x'), \mathrm{cost}(x))\). The dominance membership test argmax's BoundedSet carries.

Public Attributes

OI dom
Cost cost
Order order

Detailed Description

template<std::integral T, typename OI, typename Cost, typename Order>
requires requires(const OI& d, const Cost& c, const Order& o, const T& x) { to_iota_view(d); { o(c(x), c(x)) } -> std::convertible_to<bool>; }
struct dedekind::sequences::DominanceRefinement< T, OI, Cost, Order >

The dominance-refinement predicate of an argmax: x is optimal iff no member x' of the (finite) domain beats it under order∘cost, i.e. \(\forall x' \in \mathrm{dom}.\ \mathrm{order}(\mathrm{cost}(x'), \mathrm{cost}(x))\). A named functor rather than a capturing lambda, so the refinement is an inspectable type carried in the BoundedSet signature argmax returns — the ∀-filter made visible at compile time.


The documentation for this struct was generated from the following file: