Trait kas_core::layout::RulesSolver
source · pub trait RulesSolver {
type Storage: Clone;
type ChildInfo;
// Required methods
fn for_child<CR: FnOnce(AxisInfo) -> SizeRules>(
&mut self,
storage: &mut Self::Storage,
child_info: Self::ChildInfo,
child_rules: CR
);
fn finish(self, storage: &mut Self::Storage) -> SizeRules;
}Expand description
A SizeRules solver for layouts
Typically, a solver is invoked twice, once for each axis, before the
corresponding RulesSetter is invoked. This is managed by SolveCache.
Implementations require access to storage able to persist between multiple
solver runs and a subsequent setter run. This storage is of type
RulesSolver::Storage and is passed via reference to the constructor.
Required Associated Types§
sourcetype ChildInfo
type ChildInfo
Type required by RulesSolver::for_child (see implementation documentation)
Required Methods§
Object Safety§
This trait is not object safe.