UnsyncStringSet

Struct UnsyncStringSet 

Source
pub struct UnsyncStringSet(/* private fields */);
Expand description

Holds unique strings and provides StringRefs to fetch them later. This is a newtype around SliceSet to enforce UTF-8 invariants.

Implementations§

Source§

impl UnsyncStringSet

Source

pub fn try_with_capacity(capacity: usize) -> Result<Self, SetError>

Source

pub fn try_new() -> Result<Self, SetError>

Creates a new string set, which initially holds the empty string and other well-known strings. The well-known strings are always available and can be fetched using the WELL_KNOWN_STRING_REFS.

Source

pub unsafe fn insert_unique_uncontended( &mut self, str: &str, ) -> Result<StringRef, SetError>

§Safety
  1. The hash must be the same as if the str was re-hashed with the hasher the string set would use.
  2. The string must be unique within the set.
Source

pub unsafe fn insert_unique_uncontended_with_hash( &mut self, hash: u64, str: &str, ) -> Result<StringRef, SetError>

Inserts a string into the string set without checking for duplicates, using a pre-calculated hash.

§Safety
  1. The caller must ensure that the hash was computed using the same hasher the string set would use.
  2. The string must be unique within the set.
Source

pub fn try_insert(&mut self, str: &str) -> Result<StringRef, SetError>

Adds the string to the string set if it isn’t present already, and returns a handle to the string that can be used to retrieve it later.

Source

pub unsafe fn try_insert_with_hash( &mut self, hash: u64, str: &str, ) -> Result<StringRef, SetError>

Adds the string to the string set if it isn’t present already, using a pre-calculated hash. Returns a handle to the string that can be used to retrieve it later.

§Safety

The caller must ensure that the hash was computed using the same hasher the string set would use.

Source

pub fn string_ids(&self) -> impl Iterator<Item = StringRef> + '_

Returns an iterator over all strings in the set as StringRefs.

Source

pub fn len(&self) -> usize

Source

pub fn is_empty(&self) -> bool

Source

pub fn capacity(&self) -> usize

Source

pub unsafe fn get_string(&self, id: StringRef) -> &str

§Safety

The caller must ensure that the StringId was obtained from this set (or is a well-known id) and that the set outlives the returned &str.

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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more