Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
dedekind::sets::HasStructuredAnd Concept Reference

Downstream specialization hook for structured predicate conjunction. More...

Concept definition

template<typename P1, typename P2>
requires(const std::decay_t<P1>& p1, const std::decay_t<P2>& p2) {
{ structured_and(p1, p2) };
}
Downstream specialization hook for structured predicate conjunction.
Definition expressions.cppm:1213
constexpr Interval< V, L > structured_and(const Interval< V, L > &a, const Interval< V, L > &b)
The meet of two intervals, under the reducer's customization-point name: the one reduce_meet....
Definition halfspace.cppm:586

Detailed Description

Downstream specialization hook for structured predicate conjunction.

expressions__Comprehension_Codomain

A comprehension's codomain is coherent by construction: its species is comprehension_logic_t, the semilattice join of the base's species and the species read off the predicate's actual answer type (answer_logic), and operator() lifts both answers into that join before the conjunction. A predicate whose answer names no species, or whose species has no join with the base's, is refused at the type rather than mis-typed Boole.

expressions__Logical_Lifting

If a downstream module defines a free structured_and(p1, p2) overload discoverable via ADL for the predicate types, operator&& will dispatch to that overload. Otherwise it falls back to an opaque lambda composition.