Enum alexandria::record::kv::Value[][src]

pub enum Value {
    String(String),
    Bool(bool),
    Map(Map),
    List(Vec<Value>),
    I128(i128),
    U128(u128),
    I64(i64),
    U64(u64),
    I32(i32),
    U32(u32),
    I16(i16),
    U16(u16),
    I8(i8),
    U8(u8),
    F64(f64),
    F32(f32),
    Vec(Vec<u8>),
    Tag(Tag),
    External(Id),
}

A strongly typed alexandria data value

Because alexandria is written in Rust, all data is strongly typed, and can be checked for being a certain type via dynamic dispatch (unfortunately monomorphic generics kinda end at the disk sync level).

Value types can be nested with Value::Map, which contains a BTreeMap<_, _>. Nestings can be arbitrarily deep.

Variants

String(String)

Some UTF-8 valid text, with no length limit

Bool(bool)

Simple boolean values (true or false)

Map(Map)

A nested tree node object

List(Vec<Value>)

A nested list node object

I128(i128)

Signed 128bit integers

U128(u128)

Unsigned 128bit integers

I64(i64)

Signed 64bit integers

U64(u64)

Unsigned 64bit integers

I32(i32)

Signed 32bit integers

U32(u32)

Unsigned 32bit integers

I16(i16)

Signed 16bit integers

U16(u16)

Unsigned 16bit integers

I8(i8)

Signed 8bit integers

U8(u8)

Unsigned 8bit integers

F64(f64)

Double precision floating point numbers

F32(f32)

Single precision floating point numbers

Vec(Vec<u8>)

Arbitrary embedded binary data

Tag(Tag)

A tag in use elsewhere in Alexandria

External(Id)

A reference to another record Id

Trait Implementations

impl Clone for Value[src]

impl Debug for Value[src]

impl<'de> Deserialize<'de> for Value[src]

impl<'a> From<&'a str> for Value[src]

impl From<BTreeMap<String, Value>> for Value[src]

impl From<String> for Value[src]

impl From<Vec<Value, Global>> for Value[src]

impl From<Vec<u8, Global>> for Value[src]

impl From<bool> for Value[src]

impl From<f32> for Value[src]

impl From<f64> for Value[src]

impl From<i128> for Value[src]

impl From<i16> for Value[src]

impl From<i32> for Value[src]

impl From<i64> for Value[src]

impl From<i8> for Value[src]

impl From<u128> for Value[src]

impl From<u16> for Value[src]

impl From<u32> for Value[src]

impl From<u64> for Value[src]

impl From<u8> for Value[src]

impl PartialEq<Value> for Value[src]

impl Serialize for Value[src]

impl StructuralPartialEq for Value[src]

Auto Trait Implementations

impl RefUnwindSafe for Value

impl Send for Value

impl Sync for Value

impl Unpin for Value

impl UnwindSafe for Value

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,