Enum Value
pub enum Value
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
Implementations
impl Value
fn try_from<T>(value: T) -> Result<Self, Error> where T: Serialize,Convert a
Tintotoml::Valuewhich is an enum that can represent any valid TOML data.This conversion can fail if
T's implementation ofSerializedecides to fail, or ifTcontains a map with non-string keys.fn try_into<'de, T>(self) -> Result<T, Error> where T: Deserialize<'de>,Interpret a
toml::Valueas an instance of typeT.This conversion can fail if the structure of the
Valuedoes not match the structure expected byT, for example ifTis a struct type but theValuecontains something other than a TOML table. It can also fail if the structure is correct butT's implementation ofDeserializedecides 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<&Self>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
Noneif the type ofselfdoes not match the type of the index, for example if the index is a string andselfis an array or a number. Also returnsNoneif 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 Self>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
Noneif the type ofselfdoes not match the type of the index, for example if the index is a string andselfis an array or a number. Also returnsNoneif 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) -> boolTests 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) -> boolTests 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) -> boolTests 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) -> boolTests 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:00Zfn is_datetime(&self) -> boolTests whether this value is a datetime.
fn as_array(&self) -> Option<&Vec<Self>>Extracts the array value if it is an array.
fn as_array_mut(&mut self) -> Option<&mut Vec<Self>>Extracts the array value if it is an array.
fn is_array(&self) -> boolTests 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) -> boolTests whether this value is a table.
fn same_type(&self, other: &Self) -> boolTests whether this and another value have the same type.
fn type_str(&self) -> &'static strReturns a human-readable representation of the type of this value.
Trait Implementations
impl Clone for Value
fn clone(&self) -> Self
impl Debug for Value
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Display for Value
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl From<Datetime> for Value
fn from(val: Datetime) -> Value
impl From<Map<String, Value>> for Value
fn from(val: Table) -> Value
impl From<String> for Value
fn from(val: String) -> Value
impl From<bool> for Value
fn from(val: bool) -> Value
impl From<f32> for Value
fn from(val: f32) -> Value
impl From<f64> for Value
fn from(val: f64) -> Value
impl From<i32> for Value
fn from(val: i32) -> Value
impl From<i64> for Value
fn from(val: i64) -> Value
impl From<i8> for Value
fn from(val: i8) -> Value
impl From<u32> for Value
fn from(val: u32) -> Value
impl From<u8> for Value
fn from(val: u8) -> Value
impl FromStr for Value
type Err = Error;fn from_str(s: &str) -> Result<Self, Self::Err>
impl IntoDeserializer<'_, Error> for Value
type Deserializer = Value;fn into_deserializer(self) -> Self
impl PartialEq for Value
fn eq(&self, other: &Self) -> bool
impl Serialize for Value
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> where S: Serializer,
impl StructuralPartialEq for Value
impl<'a> From<&'a str> for Value
fn from(val: &'a str) -> Self
impl<'de> Deserialize<'de> for Value
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where D: Deserializer<'de>,
impl<'de> Deserializer<'de> for Value
type Error = Error;fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Error> where V: Visitor<'de>,fn deserialize_enum<V>(self, _name: &'static 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>,fn deserialize_newtype_struct<V>(self, _name: &'static str, visitor: V) -> Result<V::Value, Error> where V: Visitor<'de>,fn deserialize_struct<V>(self, name: &'static str, _fields: &'static [&'static str], visitor: V) -> Result<V::Value, Error> where V: Visitor<'de>,fn deserialize_bool<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_u8<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_u16<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_u32<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_u64<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_i8<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_i16<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_i32<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_i64<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_f32<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_f64<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_char<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_str<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_string<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_unit<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_seq<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_bytes<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_byte_buf<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_map<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_unit_struct<V>(self, name: &'static str, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_tuple_struct<V>(self, name: &'static str, len: usize, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_tuple<V>(self, len: usize, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_ignored_any<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_identifier<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,
impl<I> Index<I> for Value
where
I: Index,
type Output = Value;fn index(&self, index: I) -> &Self
impl<I> IndexMut<I> for Value
where
I: Index,
fn index_mut(&mut self, index: I) -> &mut Self
impl<S: Into<String> + Hash + Eq, V: Into<Self>> From<HashMap<S, V>> for Value
fn from(val: HashMap<S, V>) -> Self
impl<S: Into<String>, V: Into<Self>> From<BTreeMap<S, V>> for Value
fn from(val: BTreeMap<S, V>) -> Self
impl<V: Into<Self>> From<Vec<V>> for Value
fn from(val: Vec<V>) -> Self
Auto Trait Implementations
impl Freeze for Value
impl RefUnwindSafe for Value
impl Send for Value
impl Sync for Value
impl Unpin for Value
impl UnsafeUnpin for Value
impl UnwindSafe for Value
Blanket Implementations
impl<T> Any for Value
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for Value
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for Value
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for Value
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> DeserializeOwned for Value
where
T: for<'de> Deserialize<'de>,
impl<T> From<T> for Value
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for Value
where
T: Clone,
type Owned = T;fn to_owned(&self) -> Tfn clone_into(&self, target: &mut T)
impl<T> ToString for Value
where
T: Display + ?Sized,
fn to_string(&self) -> String
impl<T, U> Into<U> for Value
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for Value
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for Value
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>