pub struct BuiltInPracticeRule { /* private fields */ }Expand description
Built-in inspectable rule implementations for common serial-practice checks.
Implementations§
Source§impl BuiltInPracticeRule
impl BuiltInPracticeRule
Sourcepub fn aggregate(id: PracticeRuleId) -> Self
pub fn aggregate(id: PracticeRuleId) -> Self
Requires every structural ordinal to appear exactly once under the reading.
Sourcepub fn order(id: PracticeRuleId) -> Self
pub fn order(id: PracticeRuleId) -> Self
Requires first structural appearances to remain in row order.
Sourcepub fn repeats(id: PracticeRuleId) -> Self
pub fn repeats(id: PracticeRuleId) -> Self
Forbids repeated ordinal references under the reading.
Sourcepub fn doublings(id: PracticeRuleId) -> Self
pub fn doublings(id: PracticeRuleId) -> Self
Forbids simultaneous doublings of one row pitch class.
Sourcepub fn simultaneity(id: PracticeRuleId, allow: bool) -> Self
pub fn simultaneity(id: PracticeRuleId, allow: bool) -> Self
Controls whether simultaneous groups are accepted.
Sourcepub fn row_mixing(id: PracticeRuleId) -> Self
pub fn row_mixing(id: PracticeRuleId) -> Self
Forbids one event from mixing ordinals from multiple row instances.
Sourcepub fn foreign_material(id: PracticeRuleId, allow_external: bool) -> Self
pub fn foreign_material(id: PracticeRuleId, allow_external: bool) -> Self
Controls whether externally sourced material is accepted.
Sourcepub fn parameter_exhaustion(id: PracticeRuleId) -> Self
pub fn parameter_exhaustion(id: PracticeRuleId) -> Self
Requires non-structural reuse after full aggregate exposure to be declared as a relaxation.
Trait Implementations§
Source§impl Clone for BuiltInPracticeRule
impl Clone for BuiltInPracticeRule
Source§fn clone(&self) -> BuiltInPracticeRule
fn clone(&self) -> BuiltInPracticeRule
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BuiltInPracticeRule
impl Debug for BuiltInPracticeRule
Source§impl PracticeRule for BuiltInPracticeRule
impl PracticeRule for BuiltInPracticeRule
Source§fn id(&self) -> &PracticeRuleId
fn id(&self) -> &PracticeRuleId
Returns the stable rule identity.
Source§fn spec(&self) -> PracticeRuleSpec
fn spec(&self) -> PracticeRuleSpec
Returns the inspectable rule specification.
Source§fn evaluate(
&self,
plan: &SerialPlan,
reading: SerialReading,
waivers: &DeclaredWaivers,
) -> InvariantLedgerEntry<PracticeRuleId>
fn evaluate( &self, plan: &SerialPlan, reading: SerialReading, waivers: &DeclaredWaivers, ) -> InvariantLedgerEntry<PracticeRuleId>
Evaluates this rule over one named reading.
Auto Trait Implementations§
impl Freeze for BuiltInPracticeRule
impl RefUnwindSafe for BuiltInPracticeRule
impl Send for BuiltInPracticeRule
impl Sync for BuiltInPracticeRule
impl Unpin for BuiltInPracticeRule
impl UnsafeUnpin for BuiltInPracticeRule
impl UnwindSafe for BuiltInPracticeRule
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more