Enum rmpv::ValueRef [] [src]

pub enum ValueRef<'a> {
    Nil,
    Boolean(bool),
    Integer(Integer),
    F32(f32),
    F64(f64),
    String(Utf8StringRef<'a>),
    Binary(&'a [u8]),
    Array(Vec<ValueRef<'a>>),
    Map(Vec<(ValueRef<'a>, ValueRef<'a>)>),
    Ext(i8&'a [u8]),
}

Variants

Nil represents nil.

Boolean represents true or false.

Integer represents an integer.

A value of an Integer object is limited from -(2^63) upto (2^64)-1.

A 32-bit floating point number.

A 64-bit floating point number.

String extending Raw type represents a UTF-8 string.

Binary extending Raw type represents a byte array.

Array represents a sequence of objects.

Map represents key-value pairs of objects.

Extended implements Extension interface: represents a tuple of type information and a byte array where type information is an integer whose meaning is defined by applications.

Methods

impl<'a> ValueRef<'a>
[src]

Converts the current non-owning value to an owned Value.

This is achieved by deep copying all underlying structures and borrowed buffers.

Panics

Panics in unable to allocate memory to keep all internal structures and buffers.

Examples

use rmpv::{Value, ValueRef};

let val = ValueRef::Array(vec![
   ValueRef::Nil,
   ValueRef::from(42),
   ValueRef::Array(vec![
       ValueRef::from("le message"),
   ])
]);

let expected = Value::Array(vec![
    Value::Nil,
    Value::from(42),
    Value::Array(vec![
        Value::String("le message".into())
    ])
]);

assert_eq!(expected, val.to_owned());

If the ValueRef is an integer, return or cast it to a u64. Returns None otherwise.

Examples

use rmpv::ValueRef;

assert_eq!(Some(42), ValueRef::from(42).as_u64());

If the ValueRef is an Array, returns the associated vector. Returns None otherwise.

Examples

use rmpv::ValueRef;

let val = ValueRef::Array(vec![ValueRef::Nil, ValueRef::Boolean(true)]);

assert_eq!(Some(&vec![ValueRef::Nil, ValueRef::Boolean(true)]), val.as_array());
assert_eq!(None, ValueRef::Nil.as_array());

Trait Implementations

impl<'a> Clone for ValueRef<'a>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<'a> Debug for ValueRef<'a>
[src]

Formats the value using the given formatter.

impl<'a> PartialEq for ValueRef<'a>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<'a> From<u8> for ValueRef<'a>
[src]

Performs the conversion.

impl<'a> From<u16> for ValueRef<'a>
[src]

Performs the conversion.

impl<'a> From<u32> for ValueRef<'a>
[src]

Performs the conversion.

impl<'a> From<u64> for ValueRef<'a>
[src]

Performs the conversion.

impl<'a> From<usize> for ValueRef<'a>
[src]

Performs the conversion.

impl<'a> From<i8> for ValueRef<'a>
[src]

Performs the conversion.

impl<'a> From<i16> for ValueRef<'a>
[src]

Performs the conversion.

impl<'a> From<i32> for ValueRef<'a>
[src]

Performs the conversion.

impl<'a> From<i64> for ValueRef<'a>
[src]

Performs the conversion.

impl<'a> From<isize> for ValueRef<'a>
[src]

Performs the conversion.

impl<'a> From<f32> for ValueRef<'a>
[src]

Performs the conversion.

impl<'a> From<f64> for ValueRef<'a>
[src]

Performs the conversion.

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

Performs the conversion.

impl<'a> From<&'a [u8]> for ValueRef<'a>
[src]

Performs the conversion.

impl<'a> From<Vec<ValueRef<'a>>> for ValueRef<'a>
[src]

Performs the conversion.

impl<'a> From<Vec<(ValueRef<'a>, ValueRef<'a>)>> for ValueRef<'a>
[src]

Performs the conversion.

impl<'a> Display for ValueRef<'a>
[src]

Formats the value using the given formatter.