Skip to main content

ShortString

Struct ShortString 

Source
pub struct ShortString;
Expand description

A inline encoding for a short string. A short string is a UTF-8 encoded string with a maximum length of 32 bytes (inclusive) The string is null-terminated. If the string is shorter than 32 bytes, the remaining bytes are zero. If the string is exactly 32 bytes, then there is no zero terminator.

Trait Implementations§

Source§

impl Encodes<&String> for ShortString

Source§

type Output = Inline<ShortString>

The concrete form this source produces when encoded for this schema. Inline<Self> for inline encodings, Blob<Self> for blob encodings, or Inline<Handle<Self>> for the precomputed-handle case where Self: BlobEncoding.
Source§

fn encode(source: &String) -> Inline<ShortString>

Run the encoding.
Source§

impl Encodes<&str> for ShortString

Source§

type Output = Inline<ShortString>

The concrete form this source produces when encoded for this schema. Inline<Self> for inline encodings, Blob<Self> for blob encodings, or Inline<Handle<Self>> for the precomputed-handle case where Self: BlobEncoding.
Source§

fn encode(source: &str) -> Inline<ShortString>

Run the encoding.
Source§

impl Encodes<String> for ShortString

Source§

type Output = Inline<ShortString>

The concrete form this source produces when encoded for this schema. Inline<Self> for inline encodings, Blob<Self> for blob encodings, or Inline<Handle<Self>> for the precomputed-handle case where Self: BlobEncoding.
Source§

fn encode(source: String) -> Inline<ShortString>

Run the encoding.
Source§

impl InlineEncoding for ShortString

Source§

type ValidationError = ValidationError

The error type returned by validate. Use () or Infallible when every bit pattern is valid.
Source§

type Encoding = ShortString

The trait parameter to dispatch via for entity!{} field conversion. For inline schemas (32-byte data lives in the trible), set Encoding = Self — sources convert via IntoEncoded<Self> { Output = Inline<Self> }. For Handle<T>, set Encoding = T — sources convert via IntoEncoded<T> { Output = Blob<T> }. The BlobEncoding T sitting directly at trait position 0 is what lets downstream impl IntoEncoded<MyBlob> for MyType without bumping into the orphan rule.
Source§

fn validate(value: Inline<Self>) -> Result<Inline<Self>, Self::ValidationError>

Check if the given value conforms to this schema.
Source§

fn inline_from<T: IntoInline<Self>>(t: T) -> Inline<Self>

Create a new value from a concrete Rust type via IntoInline. Panics if the underlying conversion panics.
Source§

fn inline_try_from<T: TryToInline<Self>>( t: T, ) -> Result<Inline<Self>, <T as TryToInline<Self>>::Error>

Create a new value from a concrete Rust type via TryToInline. Returns an error if the conversion fails.
Source§

fn to_encoded(form: Inline<Self>) -> Encoded<Self>

Lift an already-encoded Inline<Self> into the Encoded sum entity!{} consumes — yields Encoded::Inline(form), no side-blob. Read more
Source§

impl MetaDescribe for ShortString

Source§

fn describe() -> Fragment

Produces a Fragment describing this schema type.
Source§

fn id() -> Id

Returns the id of this type. Default: derive from Self::describe().root(). Impls choose whether the id is explicit (an entity!{ &id_hex @ … } form inside describe) or derived (no @, intrinsic id from the facts) — either way the default reads the root the fragment carries. Read more
Source§

impl<'a> TryFromInline<'a, ShortString> for &'a str

Source§

type Error = Utf8Error

The error type returned when the conversion fails.
Source§

fn try_from_inline(v: &'a Inline<ShortString>) -> Result<&'a str, Self::Error>

Convert the Inline with a specific schema type to the Rust type.
Source§

impl<'a> TryFromInline<'a, ShortString> for String

Source§

type Error = Utf8Error

The error type returned when the conversion fails.
Source§

fn try_from_inline(v: &Inline<ShortString>) -> Result<Self, Self::Error>

Convert the Inline with a specific schema type to the Rust type.
Source§

impl TryToInline<ShortString> for &str

Source§

type Error = FromStrError

The error type returned when the conversion fails.
Source§

fn try_to_inline(self) -> Result<Inline<ShortString>, Self::Error>

Convert the Rust type to a Inline with a specific schema type.
Source§

impl TryToInline<ShortString> for String

Source§

type Error = FromStrError

The error type returned when the conversion fails.
Source§

fn try_to_inline(self) -> Result<Inline<ShortString>, Self::Error>

Convert the Rust type to a Inline with a specific schema type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<S> Encodes<&Inline<S>> for S
where S: InlineEncoding,

Source§

type Output = Inline<S>

The concrete form this source produces when encoded for this schema. Inline<Self> for inline encodings, Blob<Self> for blob encodings, or Inline<Handle<Self>> for the precomputed-handle case where Self: BlobEncoding.
Source§

fn encode(source: &Inline<S>) -> Inline<S>

Run the encoding.
Source§

impl<S> Encodes<Inline<S>> for S
where S: InlineEncoding,

Source§

type Output = Inline<S>

The concrete form this source produces when encoded for this schema. Inline<Self> for inline encodings, Blob<Self> for blob encodings, or Inline<Handle<Self>> for the precomputed-handle case where Self: BlobEncoding.
Source§

fn encode(source: Inline<S>) -> Inline<S>

Run the encoding.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<S, T> IntoBlob<S> for T
where S: BlobEncoding, T: IntoEncoded<S, Output = Blob<S>>,

Source§

fn to_blob(self) -> Blob<S>
where Self: Sized,

Convert directly to Blob<S>.
Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<S, T> IntoEncoded<S> for T
where S: Encodes<T>,

Source§

type Output = <S as Encodes<T>>::Output

The concrete form this source produces.
Source§

fn into_encoded(self) -> <T as IntoEncoded<S>>::Output

Run the conversion.
Source§

impl<S, T> IntoInline<S> for T
where S: InlineEncoding, T: IntoEncoded<S, Output = Inline<S>>,

Source§

fn to_inline(self) -> Inline<S>
where Self: Sized,

Convert directly to Inline<S>.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V