pub enum BorrowedValue<'a> {
Null,
Bool(bool),
Int(i64),
Float(f64),
String(Cow<'a, str>),
Sequence(Vec<BorrowedValue<'a>>),
Mapping(IndexMap<BorrowedValue<'a>, BorrowedValue<'a>>),
}Expand description
A zero-copy YAML value that borrows data where possible
Variants§
Null
Null value
Bool(bool)
Boolean value
Int(i64)
Integer value
Float(f64)
Floating point value
String(Cow<'a, str>)
String value (borrowed or owned)
Sequence(Vec<BorrowedValue<'a>>)
Sequence (array/list) value
Mapping(IndexMap<BorrowedValue<'a>, BorrowedValue<'a>>)
Mapping (dictionary/object) value
Implementations§
Source§impl<'a> BorrowedValue<'a>
impl<'a> BorrowedValue<'a>
Sourcepub const fn borrowed_string(s: &'a str) -> Self
pub const fn borrowed_string(s: &'a str) -> Self
Create a borrowed string value
Sourcepub fn owned_string(s: String) -> Self
pub fn owned_string(s: String) -> Self
Create an owned string value
Sourcepub const fn sequence_with(values: Vec<Self>) -> Self
pub const fn sequence_with(values: Vec<Self>) -> Self
Create a sequence with values
Sourcepub fn mapping_with(pairs: Vec<(Self, Self)>) -> Self
pub fn mapping_with(pairs: Vec<(Self, Self)>) -> Self
Create a mapping with key-value pairs
Sourcepub const fn is_sequence(&self) -> bool
pub const fn is_sequence(&self) -> bool
Check if this value is a sequence
Sourcepub const fn is_mapping(&self) -> bool
pub const fn is_mapping(&self) -> bool
Check if this value is a mapping
Sourcepub const fn as_sequence(&self) -> Option<&Vec<BorrowedValue<'a>>>
pub const fn as_sequence(&self) -> Option<&Vec<BorrowedValue<'a>>>
Try to get this value as a sequence
Sourcepub fn as_sequence_mut(&mut self) -> Option<&mut Vec<BorrowedValue<'a>>>
pub fn as_sequence_mut(&mut self) -> Option<&mut Vec<BorrowedValue<'a>>>
Try to get this value as a mutable sequence
Sourcepub const fn as_mapping(
&self,
) -> Option<&IndexMap<BorrowedValue<'a>, BorrowedValue<'a>>>
pub const fn as_mapping( &self, ) -> Option<&IndexMap<BorrowedValue<'a>, BorrowedValue<'a>>>
Try to get this value as a mapping
Sourcepub fn as_mapping_mut(
&mut self,
) -> Option<&mut IndexMap<BorrowedValue<'a>, BorrowedValue<'a>>>
pub fn as_mapping_mut( &mut self, ) -> Option<&mut IndexMap<BorrowedValue<'a>, BorrowedValue<'a>>>
Try to get this value as a mutable mapping
Sourcepub fn into_owned(self) -> BorrowedValue<'static>
pub fn into_owned(self) -> BorrowedValue<'static>
Convert to an owned Value (for when lifetime constraints require it)
Sourcepub fn clone_if_needed(&self) -> Self
pub fn clone_if_needed(&self) -> Self
Clone only if necessary (for Cow optimization)
Trait Implementations§
Source§impl<'a> Clone for BorrowedValue<'a>
impl<'a> Clone for BorrowedValue<'a>
Source§fn clone(&self) -> BorrowedValue<'a>
fn clone(&self) -> BorrowedValue<'a>
Returns a duplicate 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 moreSource§impl<'a> Debug for BorrowedValue<'a>
impl<'a> Debug for BorrowedValue<'a>
Source§impl<'a> Default for BorrowedValue<'a>
impl<'a> Default for BorrowedValue<'a>
Source§impl<'a> Display for BorrowedValue<'a>
impl<'a> Display for BorrowedValue<'a>
Source§impl From<BorrowedValue<'_>> for Value
impl From<BorrowedValue<'_>> for Value
Source§fn from(value: BorrowedValue<'_>) -> Self
fn from(value: BorrowedValue<'_>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<Value> for BorrowedValue<'a>
impl<'a> From<Value> for BorrowedValue<'a>
Source§impl<'a> Hash for BorrowedValue<'a>
impl<'a> Hash for BorrowedValue<'a>
Source§impl<'a> PartialEq for BorrowedValue<'a>
impl<'a> PartialEq for BorrowedValue<'a>
impl<'a> Eq for BorrowedValue<'a>
impl<'a> StructuralPartialEq for BorrowedValue<'a>
Auto Trait Implementations§
impl<'a> Freeze for BorrowedValue<'a>
impl<'a> RefUnwindSafe for BorrowedValue<'a>
impl<'a> Send for BorrowedValue<'a>
impl<'a> Sync for BorrowedValue<'a>
impl<'a> Unpin for BorrowedValue<'a>
impl<'a> UnwindSafe for BorrowedValue<'a>
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§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.