Struct rustful::server::Global [] [src]

pub struct Global(_);

A somewhat lazy container for globally accessible data.

It will try to be as simple as possible and allocate as little as possible, depending on the number of stored values.

Global can be created from a boxed value, from tuples or using the Default trait. More values can then be added using insert(value).

use rustful::server::Global;
let mut g1: Global = Box::new(5).into();
assert_eq!(g1.get(), Some(&5));
assert_eq!(g1.get::<&str>(), None);

let old = g1.insert(10);
assert_eq!(old, Some(5));
assert_eq!(g1.get(), Some(&10));

g1.insert("cat");
assert_eq!(g1.get(), Some(&10));
assert_eq!(g1.get(), Some(&"cat"));

let g2: Global = (5, "cat").into();
assert_eq!(g2.get(), Some(&5));
assert_eq!(g2.get(), Some(&"cat"));

Methods

impl Global
[src]

Borrow a value of type T if the there is one.

Insert a new value, returning the previous value of the same type, if any.

Trait Implementations

impl<T: Any + Send + Sync> From<Box<T>> for Global
[src]

Performs the conversion.

impl From<()> for Global
[src]

Performs the conversion.

impl<T0: Any + Send + Sync, T1: Any + Send + Sync, T2: Any + Send + Sync, T3: Any + Send + Sync, T4: Any + Send + Sync, T5: Any + Send + Sync, T6: Any + Send + Sync, T7: Any + Send + Sync, T8: Any + Send + Sync, T9: Any + Send + Sync, T10: Any + Send + Sync, T11: Any + Send + Sync> From<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> for Global
[src]

Performs the conversion.

impl<T1: Any + Send + Sync, T2: Any + Send + Sync, T3: Any + Send + Sync, T4: Any + Send + Sync, T5: Any + Send + Sync, T6: Any + Send + Sync, T7: Any + Send + Sync, T8: Any + Send + Sync, T9: Any + Send + Sync, T10: Any + Send + Sync, T11: Any + Send + Sync> From<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> for Global
[src]

Performs the conversion.

impl<T2: Any + Send + Sync, T3: Any + Send + Sync, T4: Any + Send + Sync, T5: Any + Send + Sync, T6: Any + Send + Sync, T7: Any + Send + Sync, T8: Any + Send + Sync, T9: Any + Send + Sync, T10: Any + Send + Sync, T11: Any + Send + Sync> From<(T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> for Global
[src]

Performs the conversion.

impl<T3: Any + Send + Sync, T4: Any + Send + Sync, T5: Any + Send + Sync, T6: Any + Send + Sync, T7: Any + Send + Sync, T8: Any + Send + Sync, T9: Any + Send + Sync, T10: Any + Send + Sync, T11: Any + Send + Sync> From<(T3, T4, T5, T6, T7, T8, T9, T10, T11)> for Global
[src]

Performs the conversion.

impl<T4: Any + Send + Sync, T5: Any + Send + Sync, T6: Any + Send + Sync, T7: Any + Send + Sync, T8: Any + Send + Sync, T9: Any + Send + Sync, T10: Any + Send + Sync, T11: Any + Send + Sync> From<(T4, T5, T6, T7, T8, T9, T10, T11)> for Global
[src]

Performs the conversion.

impl<T5: Any + Send + Sync, T6: Any + Send + Sync, T7: Any + Send + Sync, T8: Any + Send + Sync, T9: Any + Send + Sync, T10: Any + Send + Sync, T11: Any + Send + Sync> From<(T5, T6, T7, T8, T9, T10, T11)> for Global
[src]

Performs the conversion.

impl<T6: Any + Send + Sync, T7: Any + Send + Sync, T8: Any + Send + Sync, T9: Any + Send + Sync, T10: Any + Send + Sync, T11: Any + Send + Sync> From<(T6, T7, T8, T9, T10, T11)> for Global
[src]

Performs the conversion.

impl<T7: Any + Send + Sync, T8: Any + Send + Sync, T9: Any + Send + Sync, T10: Any + Send + Sync, T11: Any + Send + Sync> From<(T7, T8, T9, T10, T11)> for Global
[src]

Performs the conversion.

impl<T8: Any + Send + Sync, T9: Any + Send + Sync, T10: Any + Send + Sync, T11: Any + Send + Sync> From<(T8, T9, T10, T11)> for Global
[src]

Performs the conversion.

impl<T9: Any + Send + Sync, T10: Any + Send + Sync, T11: Any + Send + Sync> From<(T9, T10, T11)> for Global
[src]

Performs the conversion.

impl<T10: Any + Send + Sync, T11: Any + Send + Sync> From<(T10, T11)> for Global
[src]

Performs the conversion.

impl<T11: Any + Send + Sync> From<(T11,)> for Global
[src]

Performs the conversion.

impl Default for Global
[src]

Returns the "default value" for a type. Read more

Auto Trait Implementations

impl Send for Global

impl Sync for Global