Struct icu::properties::provider::names::NormalizedPropertyNameStr
source · pub struct NormalizedPropertyNameStr(_);
Expand description
This is a property name that can be “loose matched” as according to PropertyValueAliases.txt
(matched case-insensitively in ASCII, ignoring underscores, whitespace, and hyphens)
This is expected to be ASCII, but we do not rely on this invariant anywhere except during datagen.
The Ord impl will sort things using strict equality, but in such a way that all loose-equal items will sort into the same area, such that a map can be searched for both strict and loose equality.
Implementations§
source§impl NormalizedPropertyNameStr
impl NormalizedPropertyNameStr
sourcepub fn boxed_from_bytes(b: &[u8]) -> Box<NormalizedPropertyNameStr, Global>
pub fn boxed_from_bytes(b: &[u8]) -> Box<NormalizedPropertyNameStr, Global>
Get a Box<NormalizedPropertyName>
from a byte slice
Trait Implementations§
source§impl Debug for NormalizedPropertyNameStr
impl Debug for NormalizedPropertyNameStr
source§impl<'de> Deserialize<'de> for Box<NormalizedPropertyNameStr, Global>
impl<'de> Deserialize<'de> for Box<NormalizedPropertyNameStr, Global>
source§fn deserialize<D>(
deserializer: D
) -> Result<Box<NormalizedPropertyNameStr, Global>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>( deserializer: D ) -> Result<Box<NormalizedPropertyNameStr, Global>, <D as Deserializer<'de>>::Error>where D: Deserializer<'de>,
source§impl Ord for NormalizedPropertyNameStr
impl Ord for NormalizedPropertyNameStr
The Ord impl will sort things using strict equality, but in such a way that all loose-equal items will sort into the same area, such that a map can be searched for both strict and loose equality.
source§impl PartialEq<NormalizedPropertyNameStr> for NormalizedPropertyNameStr
impl PartialEq<NormalizedPropertyNameStr> for NormalizedPropertyNameStr
source§fn eq(&self, other: &NormalizedPropertyNameStr) -> bool
fn eq(&self, other: &NormalizedPropertyNameStr) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<NormalizedPropertyNameStr> for NormalizedPropertyNameStr
impl PartialOrd<NormalizedPropertyNameStr> for NormalizedPropertyNameStr
The Ord/PartialOrd impl will sort things using strict equality, but in such a way that all loose-equal items will sort into the same area, such that a map can be searched for both strict and loose equality.
source§fn partial_cmp(&self, other: &NormalizedPropertyNameStr) -> Option<Ordering>
fn partial_cmp(&self, other: &NormalizedPropertyNameStr) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl VarULE for NormalizedPropertyNameStr
impl VarULE for NormalizedPropertyNameStr
source§fn validate_byte_slice(bytes: &[u8]) -> Result<(), ZeroVecError>
fn validate_byte_slice(bytes: &[u8]) -> Result<(), ZeroVecError>
&[u8]
. Read moresource§unsafe fn from_byte_slice_unchecked(bytes: &[u8]) -> &NormalizedPropertyNameStr
unsafe fn from_byte_slice_unchecked(bytes: &[u8]) -> &NormalizedPropertyNameStr
&[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 more§fn parse_byte_slice(bytes: &[u8]) -> Result<&Self, ZeroVecError>
fn parse_byte_slice(bytes: &[u8]) -> Result<&Self, ZeroVecError>
§fn as_byte_slice(&self) -> &[u8] ⓘ
fn as_byte_slice(&self) -> &[u8] ⓘ
source§impl<'a> ZeroMapKV<'a> for NormalizedPropertyNameStr
impl<'a> ZeroMapKV<'a> for NormalizedPropertyNameStr
§type Container = VarZeroVec<'a, NormalizedPropertyNameStr, Index16>
type Container = VarZeroVec<'a, NormalizedPropertyNameStr, Index16>
ZeroVec
] or [VarZeroVec
].type Slice = VarZeroSlice<NormalizedPropertyNameStr, Index16>
§type GetType = NormalizedPropertyNameStr
type GetType = NormalizedPropertyNameStr
Container::get()
Read more§type OwnedType = Box<NormalizedPropertyNameStr, Global>
type OwnedType = Box<NormalizedPropertyNameStr, Global>
Container::replace()
and Container::remove()
,
also used during deserialization. If Self
is human readable serialized,
deserializing to Self::OwnedType
should produce the same value once
passed through Self::owned_as_self()
Read moreimpl Eq for NormalizedPropertyNameStr
impl StructuralEq for NormalizedPropertyNameStr
impl StructuralPartialEq for NormalizedPropertyNameStr
Auto Trait Implementations§
impl RefUnwindSafe for NormalizedPropertyNameStr
impl Send for NormalizedPropertyNameStr
impl !Sized for NormalizedPropertyNameStr
impl Sync for NormalizedPropertyNameStr
impl Unpin for NormalizedPropertyNameStr
impl UnwindSafe for NormalizedPropertyNameStr
Blanket Implementations§
§impl<T> EncodeAsVarULE<T> for Twhere
T: VarULE + ?Sized,
impl<T> EncodeAsVarULE<T> for Twhere T: VarULE + ?Sized,
§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
cb
with a piecewise list of byte slices that when concatenated
produce the memory pattern of the corresponding instance of T
. Read more§fn encode_var_ule_len(&self) -> usize
fn encode_var_ule_len(&self) -> usize
VarULE
] type§fn encode_var_ule_write(&self, dst: &mut [u8])
fn encode_var_ule_write(&self, dst: &mut [u8])
VarULE
] type to the dst
buffer. dst
should
be the size of [Self::encode_var_ule_len()
]