CachedThreadLocal

Struct CachedThreadLocal 

Source
pub struct CachedThreadLocal<T>
where T: Send,
{ /* private fields */ }
๐Ÿ‘ŽDeprecated since 1.1.0: Use ThreadLocal instead
Expand description

Wrapper around ThreadLocal.

This used to add a fast path for a single thread, however that has been obsoleted by performance improvements to ThreadLocal itself.

Implementationsยง

Sourceยง

impl<T> CachedThreadLocal<T>
where T: Send,

Source

pub fn new() -> CachedThreadLocal<T>

Creates a new empty CachedThreadLocal.

Source

pub fn get(&self) -> Option<&T>

Returns the element for the current thread, if it exists.

Source

pub fn get_or<F>(&self, create: F) -> &T
where F: FnOnce() -> T,

Returns the element for the current thread, or creates it if it doesnโ€™t exist.

Source

pub fn get_or_try<F, E>(&self, create: F) -> Result<&T, E>
where F: FnOnce() -> Result<T, E>,

Returns the element for the current thread, or creates it if it doesnโ€™t exist. If create fails, that error is returned and no element is added.

Source

pub fn iter_mut(&mut self) -> CachedIterMut<'_, T> โ“˜

Returns a mutable iterator over the local values of all threads.

Since this call borrows the ThreadLocal mutably, this operation can be done safelyโ€”the mutable borrow statically guarantees no other threads are currently accessing their associated values.

Source

pub fn clear(&mut self)

Removes all thread-specific values from the ThreadLocal, effectively reseting it to its original state.

Since this call borrows the ThreadLocal mutably, this operation can be done safelyโ€”the mutable borrow statically guarantees no other threads are currently accessing their associated values.

Sourceยง

impl<T> CachedThreadLocal<T>
where T: Send + Default,

Source

pub fn get_or_default(&self) -> &T

Returns the element for the current thread, or creates a default one if it doesnโ€™t exist.

Trait Implementationsยง

Sourceยง

impl<T> Debug for CachedThreadLocal<T>
where T: Send + Debug,

Sourceยง

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Sourceยง

impl<T> Default for CachedThreadLocal<T>
where T: Send,

Sourceยง

fn default() -> CachedThreadLocal<T>

Returns the โ€œdefault valueโ€ for a type. Read more
Sourceยง

impl<'a, T> IntoIterator for &'a mut CachedThreadLocal<T>
where T: Send + 'a,

Sourceยง

type Item = &'a mut T

The type of the elements being iterated over.
Sourceยง

type IntoIter = CachedIterMut<'a, T>

Which kind of iterator are we turning this into?
Sourceยง

fn into_iter(self) -> CachedIterMut<'a, T> โ“˜

Creates an iterator from a value. Read more
Sourceยง

impl<T> IntoIterator for CachedThreadLocal<T>
where T: Send,

Sourceยง

type Item = T

The type of the elements being iterated over.
Sourceยง

type IntoIter = CachedIntoIter<T>

Which kind of iterator are we turning this into?
Sourceยง

fn into_iter(self) -> CachedIntoIter<T> โ“˜

Creates an iterator from a value. Read more
Sourceยง

impl<T> UnwindSafe for CachedThreadLocal<T>
where T: Send + UnwindSafe,

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, R> CollectAndApply<T, R> for T

Sourceยง

fn collect_and_apply<I, F>(iter: I, f: F) -> R
where I: Iterator<Item = T>, F: FnOnce(&[T]) -> R,

Equivalent to f(&iter.collect::<Vec<_>>()).

Sourceยง

type Output = R

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

Sourceยง

fn into_either(self, into_left: bool) -> Either<Self, Self> โ“˜

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Sourceยง

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> โ“˜
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Sourceยง

impl<T> Pointable for T

Sourceยง

const ALIGN: usize

The alignment of pointer.
Sourceยง

type Init = T

The type for initializers.
Sourceยง

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Sourceยง

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Sourceยง

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Sourceยง

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
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<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