pub struct BytePair;Expand description
UOR ADR-026 G17 partition-product shape (binary form).
Trait Implementations§
Source§impl ConstrainedTypeShape for BytePair
impl ConstrainedTypeShape for BytePair
Source§const IRI: &'static str = "urn:uor:product:W8Byte:W8Byte"
const IRI: &'static str = "urn:uor:product:W8Byte:W8Byte"
IRI of the ontology
type:ConstrainedType instance this shape represents.Source§const SITE_BUDGET: usize
const SITE_BUDGET: usize
Ontology-level
siteBudget: count of data sites only,
excluding bookkeeping introduced by composition (coproduct tag
sites, etc.). Equals SITE_COUNT for leaf shapes and for
shapes whose composition introduces no bookkeeping (products,
cartesian products). Strictly less than SITE_COUNT for coproduct
shapes and any shape whose SITE_COUNT includes inherited
bookkeeping. Introduced by the Product/Coproduct Completion
Amendment §4a; defaults to SITE_COUNT so pre-amendment
shape impls remain valid without edits.Source§const SITE_COUNT: usize
const SITE_COUNT: usize
Number of sites (fields) this constrained type carries.
Source§const CONSTRAINTS: &'static [ConstraintRef]
const CONSTRAINTS: &'static [ConstraintRef]
Per-site constraint list. Empty means unconstrained.
Source§const CYCLE_SIZE: u64
const CYCLE_SIZE: u64
ADR-032: cardinality of the shape’s value-set (the cycle
structure of the shape under the substrate’s discrete-clock
model). Used by the
prism_model! macro to lower first_admit
(closure-body grammar G16) to the correct descent measure.
Conventions: Read moreSource§impl IntoBindingValue for BytePair
impl IntoBindingValue for BytePair
Source§const MAX_BYTES: usize = 0
const MAX_BYTES: usize = 0
Maximum byte length any value of this shape can produce when
serialized via [
into_binding_bytes]. Used by run_route to
size the on-stack buffer and reject inputs that would overflow.Source§fn into_binding_bytes(&self, _out: &mut [u8]) -> Result<usize, ShapeViolation>
fn into_binding_bytes(&self, _out: &mut [u8]) -> Result<usize, ShapeViolation>
Serialize this input value into the binding-table form.
out is a
fixed-capacity buffer the call-site provides; the implementation
writes the canonical content-addressable byte sequence and returns
the written length. Read moreSource§impl PartitionProductFactor<0> for BytePair
impl PartitionProductFactor<0> for BytePair
Source§impl PartitionProductFactor<1> for BytePair
impl PartitionProductFactor<1> for BytePair
Source§impl PartitionProductFields for BytePair
impl PartitionProductFields for BytePair
Source§const FIELDS: &'static [(u32, u32)]
const FIELDS: &'static [(u32, u32)]
Per-factor
(byte_offset, byte_length) pairs in declaration
order. Length is the same as FIELD_NAMES.len().Source§const FIELD_NAMES: &'static [&'static str]
const FIELD_NAMES: &'static [&'static str]
Per-factor names. Empty string
"" for positional-only
partition_product!(Name, A, B) emissions; non-empty for
named-field partition_product!(Name, lhs: A, rhs: B) form.
Length matches FIELDS.len().Source§fn field_index_by_name(name: &str) -> usize
fn field_index_by_name(name: &str) -> usize
Linear search returning the field index whose
FIELD_NAMES
entry equals name, or usize::MAX if not found. Delegates
to the free const fn field_index_by_name_in so the
result is usable inside const-eval contexts on stable Rust
1.83 (where const trait methods are unavailable).impl GroundedShape for BytePair
impl Sealed for BytePair
Auto Trait Implementations§
impl Freeze for BytePair
impl RefUnwindSafe for BytePair
impl Send for BytePair
impl Sync for BytePair
impl Unpin for BytePair
impl UnsafeUnpin for BytePair
impl UnwindSafe for BytePair
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