Expand description
Idiomatic Rust representations of commonly used primitives for Change Ringing compositions.
Re-exports
pub use block::Block;pub use call::Call;pub use mask::Mask;pub use method::Method;pub use method_lib::MethodLib;pub use place_not::PlaceNot;pub use place_not::PnBlock;pub use row::same_stage_vec::SameStageVec;pub use row::InvalidRowError;pub use row::Row;pub use row::RowBuf;
Modules
- Module for parsing and handling place notation
Structs
- A type-safe representation of a ‘bell’, which adds things like conversions to and from commonly-used bell names. Each
Belltakes a single byte in memory. - An error created when a
Rowwas used to permute something with the wrong length
Enums
- Data type representing the parity of a
Row. To generate these, you probably want to useRow::parity. Note thatRow::parityalways performs a heap allocation and is linear-time in theStageof theRow. If you are usingParitys as optimisations within hot code I would recommend computing them upfront on your inputRows and then tracking them by hand, probably using the*operator. - Stroke of a row, i.e. handstroke (
Stroke::Hand) or backstroke (Stroke::Back). - Whether
Rows are repeated in some section of ringing.
Functions
- Helper function to calculate the length of the longest run off the start of a given
Iterator