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) -> BuiltInPracticeRule
pub fn aggregate(id: PracticeRuleId) -> BuiltInPracticeRule
Requires every structural ordinal to appear exactly once under the reading.
Sourcepub fn order(id: PracticeRuleId) -> BuiltInPracticeRule
pub fn order(id: PracticeRuleId) -> BuiltInPracticeRule
Requires first structural appearances to remain in row order.
Sourcepub fn repeats(id: PracticeRuleId) -> BuiltInPracticeRule
pub fn repeats(id: PracticeRuleId) -> BuiltInPracticeRule
Forbids repeated ordinal references under the reading.
Sourcepub fn doublings(id: PracticeRuleId) -> BuiltInPracticeRule
pub fn doublings(id: PracticeRuleId) -> BuiltInPracticeRule
Forbids simultaneous doublings of one row pitch class.
Sourcepub fn simultaneity(id: PracticeRuleId, allow: bool) -> BuiltInPracticeRule
pub fn simultaneity(id: PracticeRuleId, allow: bool) -> BuiltInPracticeRule
Controls whether simultaneous groups are accepted.
Sourcepub fn row_mixing(id: PracticeRuleId) -> BuiltInPracticeRule
pub fn row_mixing(id: PracticeRuleId) -> BuiltInPracticeRule
Forbids one event from mixing ordinals from multiple row instances.
Sourcepub fn foreign_material(
id: PracticeRuleId,
allow_external: bool,
) -> BuiltInPracticeRule
pub fn foreign_material( id: PracticeRuleId, allow_external: bool, ) -> BuiltInPracticeRule
Controls whether externally sourced material is accepted.
Sourcepub fn parameter_exhaustion(id: PracticeRuleId) -> BuiltInPracticeRule
pub fn parameter_exhaustion(id: PracticeRuleId) -> BuiltInPracticeRule
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more