Enum dittolive_ditto::prelude::CborValue
pub enum CborValue {
Null,
Bool(bool),
Integer(i128),
Float(f64),
Bytes(Vec<u8, Global>),
Text(String),
Array(Vec<Value, Global>),
Map(BTreeMap<Value, Value, Global>),
Tag(u64, Box<Value, Global>),
// some variants omitted
}
Expand description
The Value
enum, a loosely typed way of representing any valid CBOR value.
Maps are sorted according to the canonical ordering described in RFC 7049 bis. Therefore values are unambiguously serialized to a canonical form of CBOR from the same RFC.
Variants§
Null
Represents the absence of a value or the value undefined.
Bool(bool)
Represents a boolean value.
Integer(i128)
Integer CBOR numbers.
The biggest value that can be represented is 2^64 - 1. While the smallest value is -2^64. Values outside this range can’t be serialized and will cause an error.
Float(f64)
Represents a floating point value.
Bytes(Vec<u8, Global>)
Represents a byte string.
Text(String)
Represents an UTF-8 encoded string.
Array(Vec<Value, Global>)
Represents an array of values.
Map(BTreeMap<Value, Value, Global>)
Represents a map.
Maps are also called tables, dictionaries, hashes, or objects (in JSON). While any value can be used as a CBOR key it is better to use only one type of key in a map to avoid ambiguity. If floating point values are used as keys they are compared bit-by-bit for equality. If arrays or maps are used as keys the comparisons to establish canonical order may be slow and therefore insertion and retrieval of values will be slow too.
Tag(u64, Box<Value, Global>)
Represents a tagged value
Trait Implementations§
source§impl CborValueGetters for Value
impl CborValueGetters for Value
fn as_array(&self) -> Option<&[CborValue]>
fn as_array_mut(&mut self) -> Option<&mut Vec<CborValue>>
fn as_bool(&self) -> Option<bool>
fn as_f64(&self) -> Option<f64>
fn as_i64(&self) -> Option<i64>
fn as_null(&self) -> Option<()>
fn as_object(&self) -> Option<&BTreeMap<CborValue, CborValue>>
fn as_object_mut(&mut self) -> Option<&mut BTreeMap<CborValue, CborValue>>
fn as_str(&self) -> Option<&str>
fn as_u64(&self) -> Option<u64>
fn get(&self, i: impl Index) -> Option<&CborValue>
fn get_mut(&mut self, i: impl Index) -> Option<&mut CborValue>
§impl<'de> Deserialize<'de> for Value
impl<'de> Deserialize<'de> for Value
§fn deserialize<D>(
deserializer: D
) -> Result<Value, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>( deserializer: D ) -> Result<Value, <D as Deserializer<'de>>::Error>where D: Deserializer<'de>,
§impl Ord for Value
impl Ord for Value
§impl PartialOrd<Value> for Value
impl PartialOrd<Value> for Value
§fn partial_cmp(&self, other: &Value) -> Option<Ordering>
fn partial_cmp(&self, other: &Value) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more