pub trait Access<T> { type Guard: Deref<Target = T>; // Required method fn load(&self) -> Self::Guard; }
Abstracts over ways code can get access to a value of type T.
T
This is the trait that parts of code will use when accessing a subpart of the big data structure. See the module documentation for details.
A guard object containing the value and keeping it alive.
For technical reasons, the library doesn’t allow direct access into the stored value. A temporary guard object must be loaded, that keeps the actual value alive for the time of use.
The loading method.
This returns the guard that holds the actual value. Should be called anew each time a fresh value is needed.