pub enum PlaintextType<N: Network> {
Literal(LiteralType),
Struct(Identifier<N>),
Array(ArrayType<N>),
}Expand description
A PlaintextType defines the type parameter for a literal, struct, or array.
Variants§
Literal(LiteralType)
A literal type contains its type name.
The format of the type is <type_name>.
Struct(Identifier<N>)
An struct type contains its identifier.
The format of the type is <identifier>.
Array(ArrayType<N>)
An array type contains its element type and length.
The format of the type is [<element_type>; <length>].
Implementations§
Source§impl<N: Network> PlaintextType<N>
impl<N: Network> PlaintextType<N>
Sourcepub fn size_in_bits<F>(&self, get_struct: &F) -> Result<usize>
pub fn size_in_bits<F>(&self, get_struct: &F) -> Result<usize>
Returns the number of bits of a plaintext type.
Sourcepub fn size_in_bits_raw<F>(&self, get_struct: &F) -> Result<usize>
pub fn size_in_bits_raw<F>(&self, get_struct: &F) -> Result<usize>
Returns the number of raw bits of a plaintext type.
Source§impl<N: Network> PlaintextType<N>
impl<N: Network> PlaintextType<N>
pub const ARRAY_PREFIX_BITS: [bool; 2]
Sourcepub const LITERAL_PREFIX_BITS: [bool; 2]
pub const LITERAL_PREFIX_BITS: [bool; 2]
Prefix bits for (de)serializing the Literal variant.
Sourcepub const STRUCT_PREFIX_BITS: [bool; 2]
pub const STRUCT_PREFIX_BITS: [bool; 2]
Prefix bits for (de)serializing the Struct variant.
Sourcepub fn exceeds_max_array_size(&self, max_array_size: u32) -> bool
pub fn exceeds_max_array_size(&self, max_array_size: u32) -> bool
Returns true if the plaintext type is an array and the size exceeds the given maximum.
Trait Implementations§
Source§impl<N: Clone + Network> Clone for PlaintextType<N>
impl<N: Clone + Network> Clone for PlaintextType<N>
Source§fn clone(&self) -> PlaintextType<N>
fn clone(&self) -> PlaintextType<N>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<N: Network> Debug for PlaintextType<N>
impl<N: Network> Debug for PlaintextType<N>
Source§impl<'de, N: Network> Deserialize<'de> for PlaintextType<N>
impl<'de, N: Network> Deserialize<'de> for PlaintextType<N>
Source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
Deserializes the plaintext type from a string or bytes.
Source§impl<N: Network> Display for PlaintextType<N>
impl<N: Network> Display for PlaintextType<N>
Source§impl<N: Network> From<Identifier<N>> for PlaintextType<N>
impl<N: Network> From<Identifier<N>> for PlaintextType<N>
Source§fn from(struct_: Identifier<N>) -> Self
fn from(struct_: Identifier<N>) -> Self
Initializes a plaintext type from a struct type.
Source§impl<N: Network> From<LiteralType> for PlaintextType<N>
impl<N: Network> From<LiteralType> for PlaintextType<N>
Source§fn from(literal: LiteralType) -> Self
fn from(literal: LiteralType) -> Self
Initializes a plaintext type from a literal type.
Source§impl<N: Network> FromBytes for PlaintextType<N>
impl<N: Network> FromBytes for PlaintextType<N>
Source§fn from_bytes_le(bytes: &[u8]) -> Result<Self, Error>where
Self: Sized,
fn from_bytes_le(bytes: &[u8]) -> Result<Self, Error>where
Self: Sized,
Self from a byte array in little-endian order.Source§fn from_bytes_le_unchecked(bytes: &[u8]) -> Result<Self, Error>where
Self: Sized,
fn from_bytes_le_unchecked(bytes: &[u8]) -> Result<Self, Error>where
Self: Sized,
Self::from_bytes_le but avoids costly checks.
This shall only be called when deserializing from a trusted source, such as local storage. Read moreSource§fn read_le_unchecked<R>(reader: R) -> Result<Self, Error>
fn read_le_unchecked<R>(reader: R) -> Result<Self, Error>
Self::read_le but avoids costly checks.
This shall only be called when deserializing from a trusted source, such as local storage. Read moreSource§impl<N: Network> FromStr for PlaintextType<N>
impl<N: Network> FromStr for PlaintextType<N>
Source§impl<N: Network> Parser for PlaintextType<N>
impl<N: Network> Parser for PlaintextType<N>
Source§fn parse(string: &str) -> ParserResult<'_, Self>
fn parse(string: &str) -> ParserResult<'_, Self>
Parses a string into a plaintext type.
Source§impl<N: Network> Serialize for PlaintextType<N>
impl<N: Network> Serialize for PlaintextType<N>
Source§impl<N: Network> ToBytes for PlaintextType<N>
impl<N: Network> ToBytes for PlaintextType<N>
impl<N: Eq + Network> Eq for PlaintextType<N>
impl<N: Network> StructuralPartialEq for PlaintextType<N>
Auto Trait Implementations§
impl<N> Freeze for PlaintextType<N>
impl<N> RefUnwindSafe for PlaintextType<N>
impl<N> Send for PlaintextType<N>
impl<N> Sync for PlaintextType<N>
impl<N> Unpin for PlaintextType<N>
impl<N> UnwindSafe for PlaintextType<N>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<'de, T> DeserializeExt<'de> for Twhere
T: DeserializeOwned,
impl<'de, T> DeserializeExt<'de> for Twhere
T: DeserializeOwned,
fn take_from_value<D>(
value: &mut Value,
field: &str,
) -> Result<T, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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> ⓘ
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> ⓘ
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