pub struct PluralElementsPackedULE<V>{ /* 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],
) -> &PluralElementsPackedULE<V>
 
pub const unsafe fn from_bytes_unchecked( bytes: &[u8], ) -> &PluralElementsPackedULE<V>
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<V> Debug for PluralElementsPackedULE<V>
 
impl<V> Debug for PluralElementsPackedULE<V>
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<&'data PluralElementsPackedULE<V>, <D as Deserializer<'de>>::Error>where
    D: Deserializer<'de>,
 
fn deserialize<D>(
    deserializer: D,
) -> Result<&'data PluralElementsPackedULE<V>, <D as Deserializer<'de>>::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<Box<PluralElementsPackedULE<V>>, <D as Deserializer<'de>>::Error>where
    D: Deserializer<'de>,
 
fn deserialize<D>(
    deserializer: D,
) -> Result<Box<PluralElementsPackedULE<V>>, <D as Deserializer<'de>>::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> PartialEq for PluralElementsPackedULE<V>
 
impl<V> PartialEq for PluralElementsPackedULE<V>
Source§impl<V> ToOwned for PluralElementsPackedULE<V>
 
impl<V> 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) -> <PluralElementsPackedULE<V> as ToOwned>::Owned
 
fn to_owned(&self) -> <PluralElementsPackedULE<V> as ToOwned>::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]) -> &PluralElementsPackedULE<V>
 
unsafe fn from_bytes_unchecked(bytes: &[u8]) -> &PluralElementsPackedULE<V>
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 for PluralElementsPackedULE<V>
impl<V> 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()