Struct RegistryWriteGuard

Source
pub struct RegistryWriteGuard { /* private fields */ }
Expand description

Symbol registry write lock guard

Implementations§

Source§

impl RegistryWriteGuard

Source

pub fn len(&self) -> usize

Get the number of registered symbols.

Source

pub fn is_empty(&self) -> bool

Whether or not any symbols are present in the registry.

Source

pub fn get(&self, string: &str) -> Option<Symbol>

Source

pub fn get_by_address(&self, address: u64) -> Option<Symbol>

Check if a symbol has been registered at address (i.e., it has been produced by Symbol::to_ffi()), and return the symbol if so.

This can be used to verify symbols that have made a round-trip over an FFI boundary.

Source

pub fn get_or_insert(&mut self, string: &str) -> Symbol

Get the existing symbol for string, or insert a new one.

Source

pub fn get_or_insert_static(&mut self, string: &'static &'static str) -> Symbol

Get the existing symbol for string, or insert a new one.

This variant is slightly more efficient than get_or_insert(), because it can reuse the storage of string directly for this symbol. In other words, if this call inserted the symbol, the returned Symbol will be backed by string, and no additional allocations will have happened.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.