Struct census::TrackedObject [−][src]
pub struct TrackedObject<T> { /* fields omitted */ }
Your tracked object.
A tracked object contains reference counting logic and an
Arc
to your object.
It is cloneable but calling clone will not clone your internal object.
Your object cannot be mutated. You can borrow it using
the Deref
interface.
Methods
impl<T> TrackedObject<T>
[src]
impl<T> TrackedObject<T>
pub fn map<F>(&self, f: F) -> TrackedObject<T> where
F: FnOnce(&T) -> T,
[src]
pub fn map<F>(&self, f: F) -> TrackedObject<T> where
F: FnOnce(&T) -> T,
Creates a new object from an existing one.
The new object will be registered in your original object's inventory.
let inventory = Inventory::new(); let seven = inventory.track(7); let fourteen = seven.map(|i| i * 2); assert_eq!(*fourteen, 14); let living_instances = inventory.list(); assert_eq!(living_instances.len(), 2);
Trait Implementations
impl<T> Drop for TrackedObject<T>
[src]
impl<T> Drop for TrackedObject<T>
impl<T> Clone for TrackedObject<T>
[src]
impl<T> Clone for TrackedObject<T>
fn clone(&self) -> Self
[src]
fn clone(&self) -> Self
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0
[src]Performs copy-assignment from source
. Read more
impl<T> Deref for TrackedObject<T>
[src]
impl<T> Deref for TrackedObject<T>
type Target = T
The resulting type after dereferencing.
fn deref(&self) -> &T
[src]
fn deref(&self) -> &T
Dereferences the value.
impl<T> AsRef<T> for TrackedObject<T>
[src]
impl<T> AsRef<T> for TrackedObject<T>
impl<T> Borrow<T> for TrackedObject<T>
[src]
impl<T> Borrow<T> for TrackedObject<T>
Auto Trait Implementations
impl<T> Send for TrackedObject<T> where
T: Send + Sync,
impl<T> Send for TrackedObject<T> where
T: Send + Sync,
impl<T> Sync for TrackedObject<T> where
T: Send + Sync,
impl<T> Sync for TrackedObject<T> where
T: Send + Sync,