Struct lazy_init::Lazy [] [src]

pub struct Lazy<T> where
    T: Sync
{ /* fields omitted */ }

Lazy<T> is a lazily initialized synchronized holder type. You can think of it as a LazyTransform where the initial type doesn't exist.

Methods

impl<T> Lazy<T> where
    T: Sync
[src]

[src]

Construct a new, uninitialized Lazy<T>.

[src]

Get a reference to the contained value, invoking f to create it if the Lazy<T> is uninitialized. It is guaranteed that if multiple calls to get_or_create race, only one will invoke its closure, and every call will receive a reference to the newly created value.

The value stored in the Lazy<T> is immutable after the closure returns it, so think carefully about what you want to put inside!

[src]

Get a reference to the contained value, returning Some(ref) if the Lazy<T> has been initialized or None if it has not. It is guaranteed that if a reference is returned it is to the value inside the Lazy<T>.

[src]

Unwrap the contained value, returning Some if the Lazy<T> has been initialized or None if it has not.

Trait Implementations

impl<T> Default for Lazy<T> where
    T: Sync
[src]

[src]

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