Struct preserves::value::repr::Annotations
source · pub struct Annotations<N: NestedValue>(/* private fields */);
Expand description
Representation of a collection of annotations to be attached to a Value by way of an implementation of trait NestedValue.
Implementations§
source§impl<N: NestedValue> Annotations<N>
impl<N: NestedValue> Annotations<N>
sourcepub fn empty() -> Self
pub fn empty() -> Self
Yield the empty Annotations sequence.
sourcepub fn new(anns: Option<Vec<N>>) -> Self
pub fn new(anns: Option<Vec<N>>) -> Self
Yield Annotations from a vector of values.
sourcepub fn maybe_slice(&self) -> Option<&[N]>
pub fn maybe_slice(&self) -> Option<&[N]>
Extract carried annotations, if there are any.
sourcepub fn slice(&self) -> &[N]
pub fn slice(&self) -> &[N]
Extract carried annotations, supplying an empty slice if there are none.
sourcepub fn modify<F>(&mut self, f: F) -> &mut Self
pub fn modify<F>(&mut self, f: F) -> &mut Self
Allows in-place updating of the collection of carried annotations.
sourcepub fn copy_via<M: NestedValue, F, Err>(
&self,
f: &mut F,
) -> Result<Annotations<M>, Err>
pub fn copy_via<M: NestedValue, F, Err>( &self, f: &mut F, ) -> Result<Annotations<M>, Err>
Yields a deep copy of self
, mapping embedded values to a new type via f
.
Trait Implementations§
source§impl<N: Clone + NestedValue> Clone for Annotations<N>
impl<N: Clone + NestedValue> Clone for Annotations<N>
source§fn clone(&self) -> Annotations<N>
fn clone(&self) -> Annotations<N>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl<N> Freeze for Annotations<N>
impl<N> RefUnwindSafe for Annotations<N>where
N: RefUnwindSafe,
impl<N> Send for Annotations<N>where
N: Send,
impl<N> Sync for Annotations<N>where
N: Sync,
impl<N> Unpin for Annotations<N>
impl<N> UnwindSafe for Annotations<N>where
N: UnwindSafe,
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)