Trait gtmpl_value::FromValue[][src]

pub trait FromValue<T> {
    fn from_value(val: &Value) -> Option<T>;
}

Convert Value into something.

Required Methods

Tries to retrieve T from Value.

Implementations on Foreign Types

impl FromValue<i64> for i64
[src]

Tries to retrieve i64 from Value.

Examples:

use gtmpl_value::{FromValue, Value};

let v: Value = 23i64.into();
let i = i64::from_value(&v);
assert_eq!(i, Some(23i64));

impl FromValue<u64> for u64
[src]

Tries to retrieve u64 from Value.

Examples:

use gtmpl_value::{FromValue, Value};

let v: Value = 23u64.into();
let i = u64::from_value(&v);
assert_eq!(i, Some(23u64));

impl FromValue<f64> for f64
[src]

Tries to retrieve f64 from Value.

Examples:

use gtmpl_value::{FromValue, Value};

let v: Value = 23.1f64.into();
let i = f64::from_value(&v);
assert_eq!(i, Some(23.1f64));

impl FromValue<String> for String
[src]

Tries to retrieve String from Value.

Examples:

use gtmpl_value::{FromValue, Value};

let v: Value = "foobar".into();
let s = String::from_value(&v);
assert_eq!(s, Some("foobar".to_owned()));

impl<T> FromValue<Vec<T>> for Vec<T> where
    T: FromValue<T>, 
[src]

Tries to retrieve Vec<T> from Value.

Examples:

use gtmpl_value::{FromValue, Value};

let v: Value = vec!(1, 2, 3).into();
let v: Option<Vec<i64>> = Vec::from_value(&v);
assert_eq!(v, Some(vec!(1, 2, 3)));

impl<T> FromValue<HashMap<String, T>> for HashMap<String, T> where
    T: FromValue<T>, 
[src]

Tries to retrieve HashMap<String, T> from Value.

Examples:

use gtmpl_value::{FromValue, Value};
use std::collections::HashMap;

let mut m = HashMap::new();
m.insert("a".to_owned(), 1);
let v: Value = m.into();
let m: Option<HashMap<String, i64>> = HashMap::from_value(&v);
assert!(m.is_some());
if let Some(m) = m {
  assert_eq!(m.get("a"), Some(&1));
}

Implementors