pub enum CrousValue<'a> {
Null,
Bool(bool),
UInt(u64),
Int(i64),
Float(f64),
Str(&'a str),
Bytes(&'a [u8]),
Array(Vec<CrousValue<'a>>),
Object(Vec<(&'a str, CrousValue<'a>)>),
}Expand description
Zero-copy, borrow-backed Crous value returned by the decoder.
Borrows string and bytes data directly from the input buffer, avoiding allocation for read-heavy workloads.
Variants§
Null
Bool(bool)
UInt(u64)
Int(i64)
Float(f64)
Str(&'a str)
Borrowed UTF-8 string slice from the input buffer.
Bytes(&'a [u8])
Borrowed byte slice from the input buffer.
Array(Vec<CrousValue<'a>>)
Array of zero-copy values.
Object(Vec<(&'a str, CrousValue<'a>)>)
Object with borrowed keys.
Implementations§
Source§impl<'a> CrousValue<'a>
impl<'a> CrousValue<'a>
Sourcepub fn to_owned_value(&self) -> Value
pub fn to_owned_value(&self) -> Value
Convert a borrowed CrousValue into an owned Value (copies strings/bytes).
Trait Implementations§
Source§impl<'a> Clone for CrousValue<'a>
impl<'a> Clone for CrousValue<'a>
Source§fn clone(&self) -> CrousValue<'a>
fn clone(&self) -> CrousValue<'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 CrousValue<'a>
impl<'a> Debug for CrousValue<'a>
Source§impl<'a> PartialEq for CrousValue<'a>
impl<'a> PartialEq for CrousValue<'a>
impl<'a> StructuralPartialEq for CrousValue<'a>
Auto Trait Implementations§
impl<'a> Freeze for CrousValue<'a>
impl<'a> RefUnwindSafe for CrousValue<'a>
impl<'a> Send for CrousValue<'a>
impl<'a> Sync for CrousValue<'a>
impl<'a> Unpin for CrousValue<'a>
impl<'a> UnsafeUnpin for CrousValue<'a>
impl<'a> UnwindSafe for CrousValue<'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