Skip to main content

AddConditionalFn

Type Alias AddConditionalFn 

Source
pub type AddConditionalFn = fn(&mut Sheet, MatchExpr, Vec<(Box<dyn Any>, Vec<RelationshipId>)>, Vec<RelationshipId>) -> Result<ConditionalId, Error>;
Expand description

Calls Sheet::add_conditional with the appropriate concrete type.

Each branch carries a single boxed key value and the RelationshipIds active for that branch. The default is a list of RelationshipIds active when no branch key matches.

  • Precondition: every boxed branch key contains the exact registered concrete type.
  • Complexity: O(b + r) time and space for b branches and r relationship identifiers, plus the sheet’s conditional validation.

§Examples

See [Sheet::add_conditional] for branch activation and TypeRegistry::get for selecting the erased key adapter.