pub struct TermShape;Expand description
Interprets a shape as the term it is.
Trait Implementations§
impl Copy for TermShape
Source§impl ShapeAlg for TermShape
impl ShapeAlg for TermShape
Source§fn literal(&self, text: &str) -> Term
fn literal(&self, text: &str) -> Term
One fixed piece of text, as a value: content that happens to be constant.
Source§fn name_word(&self, words: Words<'_>) -> Term
fn name_word(&self, words: Words<'_>) -> Term
A value whose content is a name, spelled however the interpretation spells names. Read more
Source§fn hex(&self, item: Term) -> Term
fn hex(&self, item: Term) -> Term
Written as
0x-prefixed hexadecimal, rather than however the item would appear alone.Source§fn decimal(&self, item: Term) -> Term
fn decimal(&self, item: Term) -> Term
Written as decimal digits in text, which is what a width beyond a JSON number requires.
Source§fn choice(&self, alternatives: Vec<Term>) -> Term
fn choice(&self, alternatives: Vec<Term>) -> Term
A choice between alternatives, carrying no discriminant of its own. Read more
Auto Trait Implementations§
impl Freeze for TermShape
impl RefUnwindSafe for TermShape
impl Send for TermShape
impl Sync for TermShape
impl Unpin for TermShape
impl UnsafeUnpin for TermShape
impl UnwindSafe for TermShape
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<This> ShapeDeclareExt<This> for This
impl<This> ShapeDeclareExt<This> for This
Source§impl<This> ShapeExt<This> for Thiswhere
This: ShapeAlg,
impl<This> ShapeExt<This> for Thiswhere
This: ShapeAlg,
Source§fn bytes_array(&self) -> <This as Sorts>::Ty
fn bytes_array(&self) -> <This as Sorts>::Ty
Bytes written as an array of JSON numbers, which is a sequence of octets and nothing more.
Source§fn int_decimal(&self, signed: bool, bits: u16) -> <This as Sorts>::Ty
fn int_decimal(&self, signed: bool, bits: u16) -> <This as Sorts>::Ty
An integer written as decimal digits, for a width a JSON number cannot hold.
Source§fn int_hex(&self, signed: bool, bits: u16) -> <This as Sorts>::Ty
fn int_hex(&self, signed: bool, bits: u16) -> <This as Sorts>::Ty
An integer written as a 0x quantity, as the Ethereum JSON-RPC specification states one.
Source§fn named_product(
&self,
words: &[&str],
fields: Vec<<This as Sorts>::Field>,
) -> <This as Sorts>::Ty
fn named_product( &self, words: &[&str], fields: Vec<<This as Sorts>::Field>, ) -> <This as Sorts>::Ty
A named product: the shape most types have.
Source§impl<This> ShapeProgramExt<This> for This
impl<This> ShapeProgramExt<This> for This
Source§fn compile_shape<Program>(
&self,
program: Program,
) -> <Program as ShapeProgramAlg<This>>::Tywhere
Program: ShapeProgramAlg<This>,
fn compile_shape<Program>(
&self,
program: Program,
) -> <Program as ShapeProgramAlg<This>>::Tywhere
Program: ShapeProgramAlg<This>,
Folds a declaration with this interpretation.
Source§impl<This> ShapeTaggedExt<This> for This
impl<This> ShapeTaggedExt<This> for This
Source§fn sum_external<'w>(
&self,
alternatives: Vec<(&'w [&'w str], <This as Sorts>::Ty)>,
) -> <This as Sorts>::Ty
fn sum_external<'w>( &self, alternatives: Vec<(&'w [&'w str], <This as Sorts>::Ty)>, ) -> <This as Sorts>::Ty
A choice written as one object per alternative, keyed by its name.