[−][src]Enum sane::value::Value
Representation of a SANE value.
Variants
String(String)
Represents a SANE string
Integer(i64)
Represents a SANE integer
Float(f64)
Represents a SANE float
Boolean(bool)
Represents a SANE boolean
Datetime(Datetime)
Represents a SANE datetime
List(List)
Represents a SANE list
Map(Map)
Represents a SANE map
Methods
impl Value
[src]
pub fn try_from<T>(value: T) -> Result<Value, Error> where
T: Serialize,
[src]
T: Serialize,
Convert a T
into sane::Value
which is an enum that can represent
any valid SANE data.
This conversion can fail if T
's implementation of Serialize
decides to
fail, or if T
contains a map with non-string keys.
pub fn try_into<'de, T>(self) -> Result<T, Error> where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,
Interpret a sane::Value
as an instance of type T
.
This conversion can fail if the structure of the Value
does not match the
structure expected by T
, for example if T
is a struct type but the
Value
contains something other than a SANE map. It can also fail if the
structure is correct but T
's implementation of Deserialize
decides that
something is wrong with the data, for example required struct fields are
missing from the SANE map or some number is too big to fit in the expected
primitive type.
pub fn get<I: Index>(&self, index: I) -> Option<&Value>
[src]
Index into a SANE list or map. A string index can be used to access a value in a map, and a usize index can be used to access an element of an list.
Returns None
if the type of self
does not match the type of the
index, for example if the index is a string and self
is an list or a
number. Also returns None
if the given key does not exist in the map
or the given index is not within the bounds of the list.
pub fn get_mut<I: Index>(&mut self, index: I) -> Option<&mut Value>
[src]
Mutably index into a SANE list or map. A string index can be used to access a value in a map, and a usize index can be used to access an element of an list.
Returns None
if the type of self
does not match the type of the
index, for example if the index is a string and self
is an list or a
number. Also returns None
if the given key does not exist in the map
or the given index is not within the bounds of the list.
pub fn as_integer(&self) -> Option<i64>
[src]
Extracts the integer value if it is an integer.
pub fn is_integer(&self) -> bool
[src]
Tests whether this value is an integer.
pub fn as_float(&self) -> Option<f64>
[src]
Extracts the float value if it is a float.
pub fn is_float(&self) -> bool
[src]
Tests whether this value is a float.
pub fn as_bool(&self) -> Option<bool>
[src]
Extracts the boolean value if it is a boolean.
pub fn is_bool(&self) -> bool
[src]
Tests whether this value is a boolean.
pub fn as_str(&self) -> Option<&str>
[src]
Extracts the string of this value if it is a string.
pub fn is_str(&self) -> bool
[src]
Tests if this value is a string.
pub fn as_datetime(&self) -> Option<&Datetime>
[src]
Extracts the datetime value if it is a datetime.
Note that a parsed SANE value will only contain ISO 8601 dates. An example date is:
1979-05-27T07:32:00Z
pub fn is_datetime(&self) -> bool
[src]
Tests whether this value is a datetime.
pub fn as_list(&self) -> Option<&Vec<Value>>
[src]
Extracts the list value if it is an list.
pub fn as_list_mut(&mut self) -> Option<&mut Vec<Value>>
[src]
Extracts the list value if it is an list.
pub fn is_list(&self) -> bool
[src]
Tests whether this value is an list.
pub fn as_map(&self) -> Option<&Map>
[src]
Extracts the map value if it is a map.
pub fn as_map_mut(&mut self) -> Option<&mut Map>
[src]
Extracts the map value if it is a map.
pub fn is_map(&self) -> bool
[src]
Tests whether this value is a map.
pub fn same_type(&self, other: &Value) -> bool
[src]
Tests whether this and another value have the same type.
pub fn type_str(&self) -> &'static str
[src]
Returns a human-readable representation of the type of this value.
Trait Implementations
impl Clone for Value
[src]
fn clone(&self) -> Value
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl PartialEq<Value> for Value
[src]
impl<'a> From<&'a str> for Value
[src]
impl<V: Into<Value>> From<Vec<V>> for Value
[src]
impl<S: Into<String>, V: Into<Value>> From<BTreeMap<S, V>> for Value
[src]
impl<S: Into<String> + Hash + Eq, V: Into<Value>> From<HashMap<S, V, RandomState>> for Value
[src]
impl From<String> for Value
[src]
impl From<i64> for Value
[src]
impl From<i32> for Value
[src]
impl From<i8> for Value
[src]
impl From<u8> for Value
[src]
impl From<u32> for Value
[src]
impl From<f64> for Value
[src]
impl From<f32> for Value
[src]
impl From<bool> for Value
[src]
impl From<Datetime> for Value
[src]
impl<I> Index<I> for Value where
I: Index,
[src]
I: Index,
impl<I> IndexMut<I> for Value where
I: Index,
[src]
I: Index,
impl Debug for Value
[src]
impl Display for Value
[src]
impl FromStr for Value
[src]
type Err = Error
The associated error which can be returned from parsing.
fn from_str(s: &str) -> Result<Value, Self::Err>
[src]
impl<'de> IntoDeserializer<'de, Error> for Value
[src]
type Deserializer = Self
The type of the deserializer being converted into.
fn into_deserializer(self) -> Self
[src]
impl Serialize for Value
[src]
impl<'de> Deserializer<'de> for Value
[src]
type Error = Error
The error type that can be returned if some error occurs during deserialization. Read more
fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Error> where
V: Visitor<'de>,
[src]
V: Visitor<'de>,
fn deserialize_enum<V>(
self,
_name: &str,
_variants: &'static [&'static str],
visitor: V
) -> Result<V::Value, Error> where
V: Visitor<'de>,
[src]
self,
_name: &str,
_variants: &'static [&'static str],
visitor: V
) -> Result<V::Value, Error> where
V: Visitor<'de>,
fn deserialize_option<V>(self, visitor: V) -> Result<V::Value, Error> where
V: Visitor<'de>,
[src]
V: Visitor<'de>,
fn deserialize_newtype_struct<V>(
self,
_name: &'static str,
visitor: V
) -> Result<V::Value, Error> where
V: Visitor<'de>,
[src]
self,
_name: &'static str,
visitor: V
) -> Result<V::Value, Error> where
V: Visitor<'de>,
fn deserialize_bool<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
fn deserialize_u8<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
fn deserialize_u16<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
fn deserialize_u32<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
fn deserialize_u64<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
fn deserialize_i8<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
fn deserialize_i16<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
fn deserialize_i32<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
fn deserialize_i64<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
fn deserialize_f32<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
fn deserialize_f64<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
fn deserialize_char<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
fn deserialize_str<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
fn deserialize_string<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
fn deserialize_unit<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
fn deserialize_seq<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
fn deserialize_bytes<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
fn deserialize_byte_buf<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
fn deserialize_map<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
fn deserialize_unit_struct<V>(
self,
name: &'static str,
visitor: V
) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
self,
name: &'static str,
visitor: V
) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
fn deserialize_tuple_struct<V>(
self,
name: &'static str,
len: usize,
visitor: V
) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
self,
name: &'static str,
len: usize,
visitor: V
) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
fn deserialize_struct<V>(
self,
name: &'static str,
fields: &'static [&'static str],
visitor: V
) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
self,
name: &'static str,
fields: &'static [&'static str],
visitor: V
) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
fn deserialize_tuple<V>(
self,
len: usize,
visitor: V
) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
self,
len: usize,
visitor: V
) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
fn deserialize_ignored_any<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
fn deserialize_identifier<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
fn deserialize_i128<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Self::Error> where
V: Visitor<'de>,
[src]
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Self::Error> where
V: Visitor<'de>,
Hint that the Deserialize
type is expecting an i128
value. Read more
fn deserialize_u128<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Self::Error> where
V: Visitor<'de>,
[src]
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Self::Error> where
V: Visitor<'de>,
Hint that the Deserialize
type is expecting an u128
value. Read more
fn is_human_readable(&self) -> bool
[src]
Determine whether Deserialize
implementations should expect to deserialize their human-readable form. Read more
impl<'de> Deserialize<'de> for Value
[src]
fn deserialize<D>(deserializer: D) -> Result<Value, D::Error> where
D: Deserializer<'de>,
[src]
D: Deserializer<'de>,
Auto Trait Implementations
Blanket Implementations
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,