pub struct UnicodeStringStorage<'a> { /* private fields */ }Expand description
Link-backed Unicode string storage with C# pinned type layout.
Implementations§
Source§impl<'a> UnicodeStringStorage<'a>
impl<'a> UnicodeStringStorage<'a>
pub fn new(links: &'a mut LinkStorage) -> Result<Self>
pub fn links_mut(&mut self) -> &mut LinkStorage
pub fn into_named_links(self) -> NamedLinks<'a>
pub fn type_type(&self) -> u32
pub fn unicode_symbol_type(&self) -> u32
pub fn unicode_sequence_type(&self) -> u32
pub fn string_type(&self) -> u32
pub fn empty_string_type(&self) -> u32
pub fn name_type(&self) -> u32
pub fn address_to_number_converter(&self) -> AddressToRawNumberConverter
pub fn number_to_address_converter(&self) -> RawNumberToAddressConverter
pub fn balanced_variant_converter(&self) -> BalancedVariantConverter
pub fn unicode_symbol_criterion_matcher(&self) -> TargetMatcher
pub fn unicode_sequence_criterion_matcher(&self) -> TargetMatcher
pub fn char_to_unicode_symbol_converter(&self) -> CharToUnicodeSymbolConverter
pub fn unicode_symbol_to_char_converter(&self) -> UnicodeSymbolToCharConverter
pub fn string_to_unicode_sequence_converter( &self, ) -> StringToUnicodeSequenceConverter
pub fn sequence_walker(&self) -> RightSequenceWalker
pub fn unicode_sequence_to_string_converter( &self, ) -> UnicodeSequenceToStringConverter
pub fn create_string(&mut self, content: &str) -> Result<u32>
pub fn get_string(&self, string_value: u32) -> Result<String>
pub fn unicode_sequence_code_units(&self, string_value: u32) -> Result<Vec<u16>>
pub fn get_types(&self) -> Vec<u32>
pub fn is_type(&self, address: u32) -> bool
pub fn get_or_create_type(&mut self, name: &str) -> Result<u32>
pub fn set_name_for_external_reference( &mut self, link: u32, name: &str, ) -> Result<u32>
pub fn get_name_by_external_reference( &self, link: u32, ) -> Result<Option<String>>
Sourcepub fn get_external_reference_by_name(
&mut self,
name: &str,
) -> Result<Option<u32>>
pub fn get_external_reference_by_name( &mut self, name: &str, ) -> Result<Option<u32>>
The external reference named name, if any.
A name link can be shared by several holders, so this looks for the
external reference among all of them instead of only inspecting the
first: UnicodeStringStorage::new names the pinned types, so a user
link named Type, Name, String, UnicodeSymbol,
UnicodeSequence or EmptyString always shares its name link with a
pinned type.
pub fn remove_name_by_external_reference( &mut self, external_reference_id: u32, ) -> Result<()>
pub fn set_name(&mut self, link: u32, name: &str) -> Result<u32>
Sourcepub fn get_name(&self, link: u32) -> Result<Option<String>>
pub fn get_name(&self, link: u32) -> Result<Option<String>>
The name of link, or None when it has none.
Name pairs are visited by address so that a link carrying more than one name always reports the same one.
Sourcepub fn get_by_name(&mut self, name: &str) -> Result<Option<u32>>
pub fn get_by_name(&mut self, name: &str) -> Result<Option<u32>>
The lowest-addressed link named name, or None when the name is
unused. See Self::get_external_reference_by_name for the
external-reference variant.
pub fn remove_name(&mut self, link: u32) -> Result<()>
Auto Trait Implementations§
impl<'a> !Freeze for UnicodeStringStorage<'a>
impl<'a> !RefUnwindSafe for UnicodeStringStorage<'a>
impl<'a> !Sync for UnicodeStringStorage<'a>
impl<'a> !UnwindSafe for UnicodeStringStorage<'a>
impl<'a> Send for UnicodeStringStorage<'a>
impl<'a> Unpin for UnicodeStringStorage<'a>
impl<'a> UnsafeUnpin for UnicodeStringStorage<'a>
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