Struct librsnek::system::rc::impl_multithreaded::StrongRc1.0.0 [] [src]

pub struct StrongRc<T> where
    T: ?Sized
{ ptr: Shared<ArcInner<T>>, }

A thread-safe reference-counting pointer.

Fields

Methods

impl<T> Arc<T>
[src]

Constructs a new Arc<T>.

Returns the contained value, if the Arc has exactly one strong reference.

Consumes the Arc, returning the wrapped pointer.

Constructs an Arc from a raw pointer.

impl<T> Arc<T> where
    T: ?Sized
[src]

Creates a new [Weak][weak] pointer to this value.

Gets the number of [Weak][weak] pointers to this value.

Gets the number of strong (Arc) pointers to this value.

Returns true if the two Arcs point to the same value (not

impl<T> Arc<T> where
    T: Clone
[src]

Makes a mutable reference into the given Arc.

impl<T> Arc<T> where
    T: ?Sized
[src]

Returns a mutable reference to the inner value, if there are

Trait Implementations

impl<C> Completer for Arc<C> where
    C: Completer + ?Sized
[src]

impl<T> UnwindSafe for Arc<T> where
    T: RefUnwindSafe + ?Sized
1.9.0
[src]

impl<T> Sync for Arc<T> where
    T: Send + Sync + ?Sized
[src]

impl<T> AsRef<T> for Arc<T> where
    T: ?Sized
1.5.0
[src]

Performs the conversion.

impl<T> Display for Arc<T> where
    T: Display + ?Sized
[src]

Formats the value using the given formatter.

impl<T> Borrow<T> for Arc<T> where
    T: ?Sized
[src]

Immutably borrows from an owned value.

impl<T> Hash for Arc<T> where
    T: Hash + ?Sized
[src]

Feeds this value into the given [Hasher].

Feeds a slice of this type into the given [Hasher].

impl<T> Ord for Arc<T> where
    T: Ord + ?Sized
[src]

Comparison for two Arcs.

impl<T> Eq for Arc<T> where
    T: Eq + ?Sized
[src]

impl<T> From<T> for Arc<T>
1.6.0
[src]

Performs the conversion.

impl<T> Drop for Arc<T> where
    T: ?Sized
[src]

Drops the Arc.

impl<T, U> CoerceUnsized<Arc<U>> for Arc<T> where
    T: Unsize<U> + ?Sized,
    U: ?Sized
[src]

impl<T> Clone for Arc<T> where
    T: ?Sized
[src]

Makes a clone of the Arc pointer.

Performs copy-assignment from source.

impl<T> PartialOrd<Arc<T>> for Arc<T> where
    T: PartialOrd<T> + ?Sized
[src]

Partial comparison for two Arcs.

Less-than comparison for two Arcs.

'Less than or equal to' comparison for two Arcs.

Greater-than comparison for two Arcs.

'Greater than or equal to' comparison for two Arcs.

impl<T> Pointer for Arc<T> where
    T: ?Sized
[src]

impl<T> PartialEq<Arc<T>> for Arc<T> where
    T: PartialEq<T> + ?Sized
[src]

Equality for two Arcs.

Inequality for two Arcs.

impl<T> Debug for Arc<T> where
    T: Debug + ?Sized
[src]

Formats the value using the given formatter.

impl<T> Deref for Arc<T> where
    T: ?Sized
[src]

The resulting type after dereferencing

The method called to dereference a value

impl<T> Default for Arc<T> where
    T: Default
[src]

Creates a new Arc<T>, with the Default value for T.

impl<T> Send for Arc<T> where
    T: Send + Sync + ?Sized
[src]

impl<T> Encodable for Arc<T> where
    T: Encodable
[src]

impl<T> Decodable for Arc<T> where
    T: Decodable + Send + Sync
[src]

impl<T> KV for Arc<T> where
    T: KV + ?Sized
[src]

impl<D> Drain for Arc<D> where
    D: Drain + ?Sized
[src]

impl<T> Value for Arc<T> where
    T: Value + ?Sized
[src]