Struct icu::plurals::provider::PluralElementsPackedULE
source · 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_byte_slice_unchecked(
bytes: &[u8],
) -> &PluralElementsPackedULE<V>
pub const unsafe fn from_byte_slice_unchecked( bytes: &[u8], ) -> &PluralElementsPackedULE<V>
Casts a byte slice to a PluralElementsPackedULE
.
§Safety
The bytes must be valid according to PluralElementsPackedULE::validate_byte_slice
.
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 decode(&self) -> PluralElements<(FourBitMetadata, &V)>
pub fn decode(&self) -> PluralElements<(FourBitMetadata, &V)>
Recovers the PluralElements
corresponding to this packed structure.
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<'a, V> Bake for &'a PluralElementsPackedULE<V>
impl<'a, V> Bake for &'a PluralElementsPackedULE<V>
source§fn bake(&self, ctx: &CrateEnv) -> TokenStream
fn bake(&self, ctx: &CrateEnv) -> TokenStream
source§impl<'a, V> BakeSize for &'a PluralElementsPackedULE<V>
impl<'a, V> BakeSize for &'a PluralElementsPackedULE<V>
source§fn borrows_size(&self) -> usize
fn borrows_size(&self) -> usize
Returns the size
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> Serialize for PluralElementsPackedULE<V>
impl<V> Serialize for PluralElementsPackedULE<V>
source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
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_byte_slice(bytes: &[u8]) -> Result<(), UleError>
fn validate_byte_slice(bytes: &[u8]) -> Result<(), UleError>
Validates a byte slice,
&[u8]
. Read moresource§unsafe fn from_byte_slice_unchecked(bytes: &[u8]) -> &PluralElementsPackedULE<V>
unsafe fn from_byte_slice_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_byte_slice()
with
success. Read moresource§fn as_byte_slice(&self) -> &[u8] ⓘ
fn as_byte_slice(&self) -> &[u8] ⓘ
impl<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()