Enum Value

Source
pub enum Value<'src> {
    None,
    Integer(i64),
    Decimal(f64),
    Boolean(bool),
    Date(Date),
    String(Cow<'src, str>),
    Identifier(Cow<'src, str>),
    Object(ObjectMap<'src>),
    Array(Vec<Value<'src>>),
}
Expand description

A variant that represents a Clausewitz source file as a tree of types and values. from_reader and from_str can be used to deserialize a Clausewitz source file into a Value tree.

Using Value to deserialize is slower and uses more memory than using Deserializer. Unlike Deserializer, Value allocates values on the heap (though strings are not copied). It also makes no guarantees about the validity of the data, as long as it’s parseable.

You should only use Value for situations where the schema of the data can’t be known beforehand.

Variants§

§

None

§

Integer(i64)

§

Decimal(f64)

§

Boolean(bool)

§

Date(Date)

§

String(Cow<'src, str>)

§

Identifier(Cow<'src, str>)

§

Object(ObjectMap<'src>)

§

Array(Vec<Value<'src>>)

Implementations§

Source§

impl<'reader, 'src: 'reader> Value<'src>

Source

pub fn from_reader( reader: &'reader mut Reader<'src>, ) -> Result<Value<'src>, Error>

Recursively reads a source file from a Reader into a Value.

Source

pub fn next_from_reader( reader: &'reader mut Reader<'src>, ) -> Result<Value<'src>, Error>

Recursively reads the next available value from a Reader into a Value.

Source

pub fn from_str(s: &'src str) -> Result<Value<'src>, Error>

Parses the given string into a Value.

Trait Implementations§

Source§

impl<'src> Clone for Value<'src>

Source§

fn clone(&self) -> Value<'src>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'src> Debug for Value<'src>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'src> PartialEq for Value<'src>

Source§

fn eq(&self, other: &Value<'src>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'src> PartialOrd for Value<'src>

Source§

fn partial_cmp(&self, other: &Value<'src>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl<'src> StructuralPartialEq for Value<'src>

Auto Trait Implementations§

§

impl<'src> Freeze for Value<'src>

§

impl<'src> RefUnwindSafe for Value<'src>

§

impl<'src> Send for Value<'src>

§

impl<'src> Sync for Value<'src>

§

impl<'src> Unpin for Value<'src>

§

impl<'src> UnwindSafe for Value<'src>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.