[][src]Crate census

extern crate census;
use census::{Inventory, TrackedObject};

fn main() {

    let inventory = Inventory::new();

    //  Each object tracked needs to be registered explicitely in the Inventory.
    //  A `TrackedObject<T>` wrapper is then returned.
    let one = inventory.track("one".to_string());
    let two = inventory.track("two".to_string());

    // A snapshot  of the list of living instances can be obtained...
    // (no guarantee on their order)
    let living_instances: Vec<TrackedObject<String>> = inventory.list();
    assert_eq!(living_instances.len(), 2);

}

Structs

Inventory

The Inventory register and keeps track of all of the objects alive.

TrackedObject

Your tracked object.