Value

Enum Value 

Source
pub enum Value {
    Null,
    Float(f64),
    Signed(i64),
    Unsigned(u64),
    String(String),
    Bool(bool),
    Struct(StructValue),
    List(ListValue),
}
Expand description

Value represents a dynamically typed JSON value which can be either null, a number (signed, unsigned, or floating point in 64 bits), a string, a boolean, a string-keyed associative map of other values, or a list of values.

Variants§

§

Null

Represents a JSON null value.

§

Float(f64)

§

Signed(i64)

§

Unsigned(u64)

§

String(String)

§

Bool(bool)

§

Struct(StructValue)

Represents a structured value.

§

List(ListValue)

Represents a repeated Value.

Trait Implementations§

Source§

impl Clone for Value

Source§

fn clone(&self) -> Value

Returns a duplicate 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 Debug for Value

Source§

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

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

impl EmptyState<(), Value> for ()
where Value: Oneof,

Source§

fn is_empty(val: &Value) -> bool

Returns true iff this instance is in the empty state.
Source§

fn clear(val: &mut Value)

Source§

fn empty() -> T

Produces the empty state for this type.
Source§

impl ForOverwrite<(), Value> for ()
where Value: Oneof,

Source§

fn for_overwrite() -> Value

Produces a new Self value to be overwritten.
Source§

impl Oneof for __Self

Source§

const FIELD_TAGS: &'static [u32]

Source§

fn empty() -> Self

Returns a new empty oneof.
Source§

fn is_empty(&self) -> bool

Returns whether the oneof is in the empty variant.
Source§

fn clear(&mut self)

Resets the oneof to the empty variant.
Source§

fn oneof_encode<__B: BufMut + ?Sized>(&self, buf: &mut __B, tw: &mut TagWriter)

Encodes the fields of the oneof into the given buffer.
Source§

fn oneof_prepend<__B: ReverseBuf + ?Sized>( &self, buf: &mut __B, tw: &mut TagRevWriter, )

Prepends the fields of the oneof into the given buffer.
Source§

fn oneof_encoded_len(&self, tm: &mut impl TagMeasurer) -> usize

Measures the number of bytes that would encode this oneof.
Source§

fn oneof_current_tag(&self) -> Option<u32>

Returns the current tag of the oneof, if any.
Source§

fn oneof_variant_name(tag: u32) -> (&'static str, &'static str)

Returns the diagnostic name of the variant with the given tag. The first returned value is the name of the oneof enum, and the second is the name of the field.
Source§

impl<'__a> OneofBorrowDecoder<'__a> for __Self

Source§

fn oneof_borrow_decode_field( value: &mut Self, tag: u32, wire_type: WireType, buf: Capped<'_, &'__a [u8]>, ctx: DecodeContext, ) -> Result<(), DecodeError>

Source§

impl OneofDecoder for __Self

Source§

fn oneof_decode_field<__B: Buf + ?Sized>( value: &mut Self, tag: u32, wire_type: WireType, buf: Capped<'_, __B>, ctx: DecodeContext, ) -> Result<(), DecodeError>

Decodes from the given buffer.
Source§

impl PartialEq for Value

Source§

fn eq(&self, other: &Value) -> 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 RawMessage for Value
where Value: Oneof,

Source§

const __ASSERTIONS: () = ()

Source§

fn empty() -> Self

Returns an initialized message in an empty state.
Source§

fn is_empty(&self) -> bool

Returns whether the message is currently empty.
Source§

fn clear(&mut self)

Resets the message to an empty state.
Source§

fn raw_encode<__B>(&self, buf: &mut __B)
where __B: BufMut + ?Sized,

Encodes the message to a buffer. Read more
Source§

fn raw_prepend<__B>(&self, buf: &mut __B)
where __B: ReverseBuf + ?Sized,

Prepends the message to a prepend buffer.
Source§

fn raw_encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
Source§

impl<'__a> RawMessageBorrowDecoder<'__a> for Value

Source§

fn raw_borrow_decode_field( &mut self, tag: u32, wire_type: WireType, _duplicated: bool, buf: Capped<'_, &'__a [u8]>, ctx: DecodeContext, ) -> Result<(), DecodeError>

Decodes a field from a buffer into self from a borrowed slice.
Source§

impl RawMessageDecoder for Value

Source§

fn raw_decode_field<__B>( &mut self, tag: u32, wire_type: WireType, _duplicated: bool, buf: Capped<'_, __B>, ctx: DecodeContext, ) -> Result<(), DecodeError>
where __B: Buf + ?Sized,

Decodes a field from a buffer into self.
Source§

impl StructuralPartialEq for Value

Auto Trait Implementations§

§

impl Freeze for Value

§

impl RefUnwindSafe for Value

§

impl Send for Value

§

impl Sync for Value

§

impl Unpin for Value

§

impl UnwindSafe for Value

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<'a, T> BorrowedMessage<'a> for T

Source§

fn decode_borrowed(buf: &'a [u8]) -> Result<T, DecodeError>

Decodes an instance of the message from a buffer. Read more
Source§

fn decode_borrowed_length_delimited( buf: &mut &'a [u8], ) -> Result<T, DecodeError>

Decodes a length-delimited instance of the message from the buffer. Read more
Source§

fn replace_borrowed_from(&mut self, buf: &'a [u8]) -> Result<(), DecodeError>

Decodes the non-ignored fields of this message from the buffer, replacing their values.
Source§

fn replace_borrowed_from_length_delimited( &mut self, buf: &mut &'a [u8], ) -> Result<(), DecodeError>

Decodes the non-ignored fields of this message, replacing their values from a length-delimited value encoded in the buffer. 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> Message for T
where T: RawMessage,

Source§

fn new_empty() -> T

Creates a new message with an empty state.
Source§

fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut + ?Sized,

Encodes the message to a buffer. Read more
Source§

fn prepend<B>(&self, buf: &mut B)
where B: ReverseBuf + ?Sized,

Prepends the message to a buffer.
Source§

fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut + ?Sized,

Encodes the message with a length-delimiter to a buffer. Read more
Source§

fn message_is_empty(&self) -> bool

Returns whether the message is currently in an empty state.
Source§

fn clear_message(&mut self)

Resets the message to an empty state.
Source§

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
Source§

fn encode_to_vec(&self) -> Vec<u8>

Encodes the message to a newly allocated buffer.
Source§

fn encode_to_bytes(&self) -> Bytes

Encodes the message to a Bytes buffer.
Source§

fn encode_fast(&self) -> ReverseBuffer

Encodes the message to a ReverseBuffer.
Source§

fn encode_length_delimited_fast(&self) -> ReverseBuffer

Encodes the message with a length-delimiter to a ReverseBuffer.
Source§

fn encode_contiguous(&self) -> ReverseBuffer

Encodes the message to a new RevserseBuffer which will have exactly the required capacity in one contiguous slice.
Source§

fn encode_length_delimited_contiguous(&self) -> ReverseBuffer

Encodes the message with a length-delimiter to a new RevserseBuffer which will have exactly the required capacity in one contiguous slice.
Source§

fn encode_dyn(&self, buf: &mut dyn BufMut) -> Result<(), EncodeError>

Encodes the message to a Bytes buffer.
Source§

fn encode_length_delimited_to_vec(&self) -> Vec<u8>

Encodes the message with a length-delimiter to a newly allocated buffer.
Source§

fn encode_length_delimited_to_bytes(&self) -> Bytes

Encodes the message with a length-delimiter to a Bytes buffer.
Source§

fn encode_length_delimited_dyn( &self, buf: &mut dyn BufMut, ) -> Result<(), EncodeError>

Encodes the message with a length-delimiter to a Bytes buffer.
Source§

impl<T> OwnedMessage for T

Source§

fn decode<B>(buf: B) -> Result<T, DecodeError>
where B: Buf,

Decodes an instance of the message from a buffer. Read more
Source§

fn decode_length_delimited<B>(buf: B) -> Result<T, DecodeError>
where B: Buf,

Decodes a length-delimited instance of the message from the buffer.
Source§

fn replace_from<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf,

Decodes the non-ignored fields of this message from the buffer, replacing their values.
Source§

fn replace_from_length_delimited<B>( &mut self, buf: B, ) -> Result<(), DecodeError>
where B: Buf,

Decodes the non-ignored fields of this message, replacing their values from a length-delimited value encoded in the buffer.
Source§

fn replace_from_slice(&mut self, buf: &[u8]) -> Result<(), DecodeError>

Decodes the non-ignored fields of this message from the buffer, replacing their values.
Source§

fn replace_from_length_delimited_slice( &mut self, buf: &[u8], ) -> Result<(), DecodeError>

Decodes the non-ignored fields of this message, replacing their values from a length-delimited value encoded in the buffer.
Source§

fn replace_from_dyn(&mut self, buf: &mut dyn Buf) -> Result<(), DecodeError>

Decodes the non-ignored fields of this message from the buffer, replacing their values.
Source§

fn replace_from_length_delimited_dyn( &mut self, buf: &mut dyn Buf, ) -> Result<(), DecodeError>

Decodes the non-ignored fields of this message, replacing their values from a length-delimited value encoded in the buffer.
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.