Enum toml::value::Value
[−]
[src]
pub enum Value { String(String), Integer(i64), Float(f64), Boolean(bool), Datetime(Datetime), Array(Array), Table(Table), }
Representation of a TOML value.
Variants
String(String)
Represents a TOML string
Integer(i64)
Represents a TOML integer
Float(f64)
Represents a TOML float
Boolean(bool)
Represents a TOML boolean
Datetime(Datetime)
Represents a TOML datetime
Array(Array)
Represents a TOML array
Table(Table)
Represents a TOML table
Methods
impl Value
[src]
fn try_from<T>(value: T) -> Result<Value, Error> where
T: Serialize,
T: Serialize,
Convert a T
into toml::Value
which is an enum that can represent
any valid TOML data.
This conversion can fail if T
's implementation of Serialize
decides to
fail, or if T
contains a map with non-string keys.
fn try_into<'de, T>(self) -> Result<T, Error> where
T: Deserialize<'de>,
T: Deserialize<'de>,
Interpret a toml::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 TOML table. 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 TOML map or some number is too big to fit in the expected
primitive type.
fn get<I: Index>(&self, index: I) -> Option<&Value>
Index into a TOML array 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 array.
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 array 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 array.
fn get_mut<I: Index>(&mut self, index: I) -> Option<&mut Value>
Mutably index into a TOML array 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 array.
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 array 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 array.
fn as_integer(&self) -> Option<i64>
Extracts the integer value if it is an integer.
fn is_integer(&self) -> bool
Tests whether this value is an integer
fn as_float(&self) -> Option<f64>
Extracts the float value if it is a float.
fn is_float(&self) -> bool
Tests whether this value is a float
fn as_bool(&self) -> Option<bool>
Extracts the boolean value if it is a boolean.
fn is_bool(&self) -> bool
Tests whether this value is a boolean
fn as_str(&self) -> Option<&str>
Extracts the string of this value if it is a string.
fn is_str(&self) -> bool
Tests if this value is a string
fn as_datetime(&self) -> Option<&Datetime>
Extracts the datetime value if it is a datetime.
Note that a parsed TOML value will only contain ISO 8601 dates. An example date is:
1979-05-27T07:32:00Z
fn is_datetime(&self) -> bool
Tests whether this value is a datetime
fn as_array(&self) -> Option<&Vec<Value>>
Extracts the array value if it is an array.
fn as_array_mut(&mut self) -> Option<&mut Vec<Value>>
Extracts the array value if it is an array.
fn is_array(&self) -> bool
Tests whether this value is an array
fn as_table(&self) -> Option<&Table>
Extracts the table value if it is a table.
fn as_table_mut(&mut self) -> Option<&mut Table>
Extracts the table value if it is a table.
fn is_table(&self) -> bool
Extracts the table value if it is a table.
fn same_type(&self, other: &Value) -> bool
Tests whether this and another value have the same type.
fn type_str(&self) -> &'static str
Returns a human-readable representation of the type of this value.
Trait Implementations
impl PartialEq for Value
[src]
fn eq(&self, __arg_0: &Value) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Value) -> bool
This method tests for !=
.
impl Clone for Value
[src]
fn clone(&self) -> Value
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl Debug for Value
[src]
impl<I> Index<I> for Value where
I: Index,
[src]
I: Index,
type Output = Value
The returned type after indexing
fn index(&self, index: I) -> &Value
The method for the indexing (container[index]
) operation
impl<I> IndexMut<I> for Value where
I: Index,
[src]
I: Index,
fn index_mut(&mut self, index: I) -> &mut Value
The method for the mutable indexing (container[index]
) operation
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>> 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 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>
Parses a string s
to return a value of this type. Read more
impl Serialize for Value
[src]
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> where
S: Serializer,
S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl<'de> Deserialize<'de> for Value
[src]
fn deserialize<D>(deserializer: D) -> Result<Value, D::Error> where
D: Deserializer<'de>,
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
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>,
V: Visitor<'de>,
Require the Deserializer
to figure out how to drive the visitor based on what data type is in the input. Read more
fn deserialize_enum<V>(
self,
_name: &str,
_variants: &'static [&'static str],
visitor: V
) -> Result<V::Value, Error> where
V: Visitor<'de>,
self,
_name: &str,
_variants: &'static [&'static str],
visitor: V
) -> Result<V::Value, Error> where
V: Visitor<'de>,
Hint that the Deserialize
type is expecting an enum value with a particular name and possible variants. Read more
fn deserialize_option<V>(self, visitor: V) -> Result<V::Value, Error> where
V: Visitor<'de>,
V: Visitor<'de>,
Hint that the Deserialize
type is expecting an optional value. Read more
fn deserialize_bool<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
Hint that the Deserialize
type is expecting a bool
value.
fn deserialize_u8<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
Hint that the Deserialize
type is expecting a u8
value.
fn deserialize_u16<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
Hint that the Deserialize
type is expecting a u16
value.
fn deserialize_u32<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
Hint that the Deserialize
type is expecting a u32
value.
fn deserialize_u64<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
Hint that the Deserialize
type is expecting a u64
value.
fn deserialize_i8<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
Hint that the Deserialize
type is expecting an i8
value.
fn deserialize_i16<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
Hint that the Deserialize
type is expecting an i16
value.
fn deserialize_i32<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
Hint that the Deserialize
type is expecting an i32
value.
fn deserialize_i64<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
Hint that the Deserialize
type is expecting an i64
value.
fn deserialize_f32<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
Hint that the Deserialize
type is expecting a f32
value.
fn deserialize_f64<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
Hint that the Deserialize
type is expecting a f64
value.
fn deserialize_char<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
Hint that the Deserialize
type is expecting a char
value.
fn deserialize_str<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
Hint that the Deserialize
type is expecting a string value and does not benefit from taking ownership of buffered data owned by the Deserializer
. Read more
fn deserialize_string<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
Hint that the Deserialize
type is expecting a string value and would benefit from taking ownership of buffered data owned by the Deserializer
. Read more
fn deserialize_unit<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
Hint that the Deserialize
type is expecting a unit value.
fn deserialize_seq<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
Hint that the Deserialize
type is expecting a sequence of values.
fn deserialize_bytes<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
Hint that the Deserialize
type is expecting a byte array and does not benefit from taking ownership of buffered data owned by the Deserializer
. Read more
fn deserialize_byte_buf<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
Hint that the Deserialize
type is expecting a byte array and would benefit from taking ownership of buffered data owned by the Deserializer
. Read more
fn deserialize_map<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
Hint that the Deserialize
type is expecting a map of key-value pairs.
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>,
Hint that the Deserialize
type is expecting a unit struct with a particular name. Read more
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>,
Hint that the Deserialize
type is expecting a tuple struct with a particular name and number of fields. Read more
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>,
Hint that the Deserialize
type is expecting a struct with a particular name and fields. Read more
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>,
Hint that the Deserialize
type is expecting a sequence of values and knows how many values there are without looking at the serialized data. Read more
fn deserialize_ignored_any<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
Hint that the Deserialize
type needs to deserialize a value whose type doesn't matter because it is ignored. Read more
fn deserialize_newtype_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>,
Hint that the Deserialize
type is expecting a newtype struct with a particular name. Read more
fn deserialize_identifier<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
V: Visitor<'de>,
Hint that the Deserialize
type is expecting the name of a struct field or the discriminant of an enum variant. Read more
impl<'de> IntoDeserializer<'de, Error> for Value
[src]
type Deserializer = Self
The type of the deserializer being converted into.
fn into_deserializer(self) -> Self
Convert this value into a deserializer.