pub struct PluralElementsPackedULE<V: VarULE + ?Sized> { /* private fields */ }Expand description
A bitpacked DST for PluralElements.
Can be put in a Cow or a VarZeroSlice.
Implementations§
Source§impl<V> PluralElementsPackedULE<V>
 
impl<V> PluralElementsPackedULE<V>
Sourcepub const unsafe fn from_bytes_unchecked(bytes: &[u8]) -> &Self
 
pub const unsafe fn from_bytes_unchecked(bytes: &[u8]) -> &Self
Casts a byte slice to a PluralElementsPackedULE.
§Safety
The bytes must be valid according to PluralElementsPackedULE::validate_bytes.
Sourcepub fn get<'a>(
    &'a self,
    op: PluralOperands,
    rules: &PluralRules,
) -> (FourBitMetadata, &'a V)
 
pub fn get<'a>( &'a self, op: PluralOperands, rules: &PluralRules, ) -> (FourBitMetadata, &'a V)
Returns the value for the given PluralOperands and PluralRules.
Sourcepub fn get_default(&self) -> (FourBitMetadata, &V)
 
pub fn get_default(&self) -> (FourBitMetadata, &V)
Returns the value for the default (“other”) plural variant.
Trait Implementations§
Source§impl<'de, 'data, V> Deserialize<'de> for &'data PluralElementsPackedULE<V>
 
impl<'de, 'data, V> Deserialize<'de> for &'data PluralElementsPackedULE<V>
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
    D: Deserializer<'de>,
 
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
    D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<'de, V> Deserialize<'de> for Box<PluralElementsPackedULE<V>>
 
impl<'de, V> Deserialize<'de> for Box<PluralElementsPackedULE<V>>
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
    D: Deserializer<'de>,
 
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
    D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<T, V> EncodeAsVarULE<PluralElementsPackedULE<V>> for PluralElements<(FourBitMetadata, T)>
 
impl<T, V> EncodeAsVarULE<PluralElementsPackedULE<V>> for PluralElements<(FourBitMetadata, T)>
Source§fn encode_var_ule_as_slices<R>(&self, _cb: impl FnOnce(&[&[u8]]) -> R) -> R
 
fn encode_var_ule_as_slices<R>(&self, _cb: impl FnOnce(&[&[u8]]) -> R) -> R
Calls 
cb with a piecewise list of byte slices that when concatenated
produce the memory pattern of the corresponding instance of T. Read moreSource§fn encode_var_ule_len(&self) -> usize
 
fn encode_var_ule_len(&self) -> usize
Return the length, in bytes, of the corresponding 
VarULE typeSource§fn encode_var_ule_write(&self, dst: &mut [u8])
 
fn encode_var_ule_write(&self, dst: &mut [u8])
Write the corresponding 
VarULE type to the dst buffer. dst should
be the size of Self::encode_var_ule_len()Source§impl<V: VarULE + ?Sized> ToOwned for PluralElementsPackedULE<V>
 
impl<V: VarULE + ?Sized> ToOwned for PluralElementsPackedULE<V>
Source§type Owned = Box<PluralElementsPackedULE<V>>
 
type Owned = Box<PluralElementsPackedULE<V>>
The resulting type after obtaining ownership.
Source§fn to_owned(&self) -> Self::Owned
 
fn to_owned(&self) -> Self::Owned
Creates owned data from borrowed data, usually by cloning. Read more
1.63.0 · Source§fn clone_into(&self, target: &mut Self::Owned)
 
fn clone_into(&self, target: &mut Self::Owned)
Uses borrowed data to replace owned data, usually by cloning. Read more
Source§impl<V> VarULE for PluralElementsPackedULE<V>
 
impl<V> VarULE for PluralElementsPackedULE<V>
Source§fn validate_bytes(bytes: &[u8]) -> Result<(), UleError>
 
fn validate_bytes(bytes: &[u8]) -> Result<(), UleError>
Validates a byte slice, 
&[u8]. Read moreSource§unsafe fn from_bytes_unchecked(bytes: &[u8]) -> &Self
 
unsafe fn from_bytes_unchecked(bytes: &[u8]) -> &Self
Takes a byte slice, 
&[u8], and return it as &Self with the same lifetime, assuming
that this byte slice has previously been run through Self::parse_bytes() with
success. Read moreimpl<V: Eq + VarULE + ?Sized> Eq for PluralElementsPackedULE<V>
impl<V: VarULE + ?Sized> StructuralPartialEq for PluralElementsPackedULE<V>
Auto Trait Implementations§
impl<V> Freeze for PluralElementsPackedULE<V>where
    V: ?Sized,
impl<V> RefUnwindSafe for PluralElementsPackedULE<V>where
    V: RefUnwindSafe + ?Sized,
impl<V> Send for PluralElementsPackedULE<V>
impl<V> !Sized for PluralElementsPackedULE<V>
impl<V> Sync for PluralElementsPackedULE<V>
impl<V> Unpin for PluralElementsPackedULE<V>
impl<V> UnwindSafe for PluralElementsPackedULE<V>where
    V: UnwindSafe + ?Sized,
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> EncodeAsVarULE<T> for T
 
impl<T> EncodeAsVarULE<T> for T
Source§fn encode_var_ule_as_slices<R>(&self, cb: impl FnOnce(&[&[u8]]) -> R) -> R
 
fn encode_var_ule_as_slices<R>(&self, cb: impl FnOnce(&[&[u8]]) -> R) -> R
Calls 
cb with a piecewise list of byte slices that when concatenated
produce the memory pattern of the corresponding instance of T. Read moreSource§fn encode_var_ule_len(&self) -> usize
 
fn encode_var_ule_len(&self) -> usize
Return the length, in bytes, of the corresponding 
VarULE typeSource§fn encode_var_ule_write(&self, dst: &mut [u8])
 
fn encode_var_ule_write(&self, dst: &mut [u8])
Write the corresponding 
VarULE type to the dst buffer. dst should
be the size of Self::encode_var_ule_len()