Struct adapton::engine::Art
[−]
[src]
pub struct Art<T> { /* fields omitted */ }
Articulations: for incrementally-changing data/computation.
-
Introduced by (produced by)
thunk
,cell
andput
-
Eliminated by (consumed by)
force
(andset
).
The term Art stands for two things here: Adapton Return Type
(of thunk
and cell
), and Articulation point for
incrementally-changing data/computation.
Each art has a unique identity. (See also: Name
s, and functions
to produce them). Because this identity, an art can be hashed and
compared for equality efficiently, in O(1) time.
The concept of an art abstracts over whether the producer is eager
(like a ref cell
) or lazy (like a thunk
). One uses force
to
inspect both. Consequently, code that consumes structures with
arts need only ever use force
(not two different functions,
depending on whether the art is lazy or eager).
Trait Implementations
impl<T: Clone> Clone for Art<T>
[src]
fn clone(&self) -> Art<T>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl<T: PartialEq> PartialEq for Art<T>
[src]
fn eq(&self, __arg_0: &Art<T>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Art<T>) -> bool
This method tests for !=
.
impl<T: Eq> Eq for Art<T>
[src]
impl<T: Hash> Hash for Art<T>
[src]
fn hash<__HT: Hasher>(&self, __arg_0: &mut __HT)
Feeds this value into the state given, updating the hasher as necessary.
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0
H: Hasher,
Feeds a slice of this type into the state provided.