Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
dedekind::category::IsProjectedProduct Concept Referenceexport

Product witness through an optional whole-projection policy. More...

Concept definition

template<typename P, typename A, typename B, typename WholeProject std::identity>
requires(WholeProject project, const P& p) {
{ project(p) };
} &&
IsProduct<std::remove_cvref_t<decltype(std::declval<WholeProject>()(
std::declval<const P&>()))>,
A, B>
Product witness through an optional whole-projection policy.
Definition limit.cppm:588

Detailed Description

Product witness through an optional whole-projection policy.

By default (WholeProject = std::identity), this reduces to a direct IsProduct<P, A, B> check. With an opt-in projector (for example an operator-> drill-down policy), this concept certifies that a wrapper type exposes a product whole whose canonical parts are still discoverable.