pub struct MemoryCapabilities(/* private fields */);Expand description
What a memory backend can actually do.
A named set rather than a row of flags: capabilities are negotiated with something on the other side of a boundary, and a set survives one side learning a new trick without the other having to be rebuilt to hear about it.
A backend that claims a capability it does not have fails the conformance suite. A backend that claims none is still a legitimate backend, and the honest shape of “no memory configured”.
Implementations§
Source§impl MemoryCapabilities
impl MemoryCapabilities
pub fn all() -> Self
pub fn with(self, capability: MemoryCapability) -> Self
pub fn has(&self, capability: MemoryCapability) -> bool
pub fn remembers(&self) -> bool
pub fn recalls(&self) -> bool
pub fn answers_questions(&self) -> bool
pub fn travels_in_time(&self) -> bool
pub fn keeps_evidence(&self) -> bool
pub fn keeps_reasons(&self) -> bool
pub fn follows_reasons(&self) -> bool
pub fn iter(&self) -> impl Iterator<Item = MemoryCapability> + '_
pub fn is_empty(&self) -> bool
Trait Implementations§
Source§impl Clone for MemoryCapabilities
impl Clone for MemoryCapabilities
Source§fn clone(&self) -> MemoryCapabilities
fn clone(&self) -> MemoryCapabilities
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MemoryCapabilities
impl Debug for MemoryCapabilities
Source§impl Default for MemoryCapabilities
impl Default for MemoryCapabilities
Source§fn default() -> MemoryCapabilities
fn default() -> MemoryCapabilities
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for MemoryCapabilities
impl<'de> Deserialize<'de> for MemoryCapabilities
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for MemoryCapabilities
Source§impl PartialEq for MemoryCapabilities
impl PartialEq for MemoryCapabilities
Source§impl Serialize for MemoryCapabilities
impl Serialize for MemoryCapabilities
impl StructuralPartialEq for MemoryCapabilities
Auto Trait Implementations§
impl Freeze for MemoryCapabilities
impl RefUnwindSafe for MemoryCapabilities
impl Send for MemoryCapabilities
impl Sync for MemoryCapabilities
impl Unpin for MemoryCapabilities
impl UnsafeUnpin for MemoryCapabilities
impl UnwindSafe for MemoryCapabilities
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more