[−][src]Struct smart::SharedPointer
A dynamic smart pointer which is not guaranteed to be threadsafe.
This type can be constructed from any shared ownership pointer, including Rc. It also provides a conversion method to SyncPointer, which must be threadsafe. Converting a SharedPointer with a non-threadsafe implementation would panic.
Methods
impl<T> SharedPointer<T>
[src]
pub fn new(data: T) -> SharedPointer<T>
[src]
Construct a new SharedPointer directly.
By default, this uses an Arc, so a SharedPointer constructed this way can be cast into a SyncPointer without panicking.
Trait Implementations
impl<T: ?Sized> Clone for SharedPointer<T>
[src]
fn clone(&self) -> SharedPointer<T>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<T: ?Sized> From<&'static T> for SharedPointer<T>
[src]
fn from(ptr: &'static T) -> SharedPointer<T>
[src]
impl<T: ?Sized> From<Rc<T>> for SharedPointer<T>
[src]
fn from(ptr: Rc<T>) -> SharedPointer<T>
[src]
impl<T: ?Sized> From<Arc<T>> for SharedPointer<T>
[src]
fn from(ptr: Arc<T>) -> SharedPointer<T>
[src]
impl<T: ?Sized> From<SyncPointer<T>> for SharedPointer<T>
[src]
fn from(ptr: SyncPointer<T>) -> SharedPointer<T>
[src]
impl<T: ?Sized> From<SharedPointer<T>> for SyncPointer<T>
[src]
fn from(ptr: SharedPointer<T>) -> SyncPointer<T>
[src]
impl<T: ?Sized> Deref for SharedPointer<T>
[src]
Auto Trait Implementations
impl<T> !Send for SharedPointer<T>
impl<T> !Sync for SharedPointer<T>
Blanket Implementations
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = !
🔬 This is a nightly-only experimental API. (
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,