[−][src]Struct serde_yaml::Number
Represents a YAML number, whether integer or floating point.
Methods
impl Number
[src]
[−]
impl Number
pub fn is_i64(&self) -> bool
[src]
[−]
pub fn is_i64(&self) -> bool
Returns true if the Number
is an integer between i64::MIN
and
i64::MAX
.
For any Number on which is_i64
returns true, as_i64
is guaranteed to
return the integer value.
let big = i64::MAX as u64 + 10; let v = yaml(r#" a: 64 b: 9223372036854775817 c: 256.0 "#); assert!(v["a"].is_i64()); // Greater than i64::MAX. assert!(!v["b"].is_i64()); // Numbers with a decimal point are not considered integers. assert!(!v["c"].is_i64());
pub fn is_u64(&self) -> bool
[src]
[−]
pub fn is_u64(&self) -> bool
Returns true if the Number
is an integer between zero and u64::MAX
.
For any Number on which is_u64
returns true, as_u64
is guaranteed to
return the integer value.
let v = yaml(r#" a: 64 b: -64 c: 256.0 "#); assert!(v["a"].is_u64()); // Negative integer. assert!(!v["b"].is_u64()); // Numbers with a decimal point are not considered integers. assert!(!v["c"].is_u64());
pub fn is_f64(&self) -> bool
[src]
[−]
pub fn is_f64(&self) -> bool
Returns true if the Number
can be represented by f64.
For any Number on which is_f64
returns true, as_f64
is guaranteed to
return the floating point value.
Currently this function returns true if and only if both is_i64
and
is_u64
return false but this is not a guarantee in the future.
let v = yaml(r#" --- a: 256.0 b: 64 c: -64 "#); assert!(v["a"].is_f64()); // Integers. assert!(!v["b"].is_f64()); assert!(!v["c"].is_f64());
pub fn as_i64(&self) -> Option<i64>
[src]
[−]
pub fn as_i64(&self) -> Option<i64>
If the Number
is an integer, represent it as i64 if possible. Returns
None otherwise.
let big = i64::MAX as u64 + 10; let v = yaml(r#" --- a: 64 b: 9223372036854775817 c: 256.0 "#); assert_eq!(v["a"].as_i64(), Some(64)); assert_eq!(v["b"].as_i64(), None); assert_eq!(v["c"].as_i64(), None);
pub fn as_u64(&self) -> Option<u64>
[src]
[−]
pub fn as_u64(&self) -> Option<u64>
If the Number
is an integer, represent it as u64 if possible. Returns
None otherwise.
let v = yaml(r#" --- a: 64 b: -64 c: 256.0 "#); assert_eq!(v["a"].as_u64(), Some(64)); assert_eq!(v["b"].as_u64(), None); assert_eq!(v["c"].as_u64(), None);
pub fn as_f64(&self) -> Option<f64>
[src]
[−]
pub fn as_f64(&self) -> Option<f64>
Represents the number as f64 if possible. Returns None otherwise.
let v = yaml(r#" --- a: 256.0 b: 64 c: -64 "#); assert_eq!(v["a"].as_f64(), Some(256.0)); assert_eq!(v["b"].as_f64(), Some(64.0)); assert_eq!(v["c"].as_f64(), Some(-64.0));
assert_eq!(yaml("inf").as_f64(), Some(f64::INFINITY)); assert_eq!(yaml("-inf").as_f64(), Some(f64::NEG_INFINITY)); assert!(yaml("NaN").as_f64().unwrap().is_nan());
pub fn is_nan(&self) -> bool
[src]
[−]
pub fn is_nan(&self) -> bool
Returns true if this value is NaN and false otherwise.
assert!(!Number::from(256.0).is_nan()); assert!(Number::from(f64::NAN).is_nan()); assert!(!Number::from(f64::INFINITY).is_nan()); assert!(!Number::from(f64::NEG_INFINITY).is_nan()); assert!(!Number::from(1).is_nan());
pub fn is_infinite(&self) -> bool
[src]
[−]
pub fn is_infinite(&self) -> bool
Returns true if this value is positive infinity or negative infinity and false otherwise.
assert!(!Number::from(256.0).is_infinite()); assert!(!Number::from(f64::NAN).is_infinite()); assert!(Number::from(f64::INFINITY).is_infinite()); assert!(Number::from(f64::NEG_INFINITY).is_infinite()); assert!(!Number::from(1).is_infinite());
pub fn is_finite(&self) -> bool
[src]
[−]
pub fn is_finite(&self) -> bool
Returns true if this number is neither infinite nor NaN.
assert!(Number::from(256.0).is_finite()); assert!(!Number::from(f64::NAN).is_finite()); assert!(!Number::from(f64::INFINITY).is_finite()); assert!(!Number::from(f64::NEG_INFINITY).is_finite()); assert!(Number::from(1).is_finite());
Trait Implementations
impl PartialOrd<Number> for Number
[src]
[+]
impl PartialOrd<Number> for Number
impl PartialEq<Number> for Number
[src]
[+]
impl PartialEq<Number> for Number
impl Clone for Number
[src]
[+]
impl Clone for Number
impl From<i8> for Number
[src]
[+]
impl From<i8> for Number
impl From<i16> for Number
[src]
[+]
impl From<i16> for Number
impl From<i32> for Number
[src]
[+]
impl From<i32> for Number
impl From<i64> for Number
[src]
[+]
impl From<i64> for Number
impl From<isize> for Number
[src]
[+]
impl From<isize> for Number
impl From<u8> for Number
[src]
[+]
impl From<u8> for Number
impl From<u16> for Number
[src]
[+]
impl From<u16> for Number
impl From<u32> for Number
[src]
[+]
impl From<u32> for Number
impl From<u64> for Number
[src]
[+]
impl From<u64> for Number
impl From<usize> for Number
[src]
[+]
impl From<usize> for Number
impl From<f32> for Number
[src]
[+]
impl From<f32> for Number
impl From<f64> for Number
[src]
[+]
impl From<f64> for Number
impl Display for Number
[src]
[+]
impl Display for Number
impl Debug for Number
[src]
[+]
impl Debug for Number
impl Hash for Number
[src]
[+]
impl Hash for Number
impl Serialize for Number
[src]
[+]
impl Serialize for Number
impl<'de> Deserializer<'de> for Number
[src]
[+]
impl<'de> Deserializer<'de> for Number
impl<'de, 'a> Deserializer<'de> for &'a Number
[src]
[+]
impl<'de, 'a> Deserializer<'de> for &'a Number
impl<'de> Deserialize<'de> for Number
[src]
[+]
impl<'de> Deserialize<'de> for Number
Auto Trait Implementations
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
[−]
impl<T> ToOwned for T where
T: Clone,
type Owned = T
fn to_owned(&self) -> T
[src]
[−]
fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
fn clone_into(&self, target: &mut T)
[src]
[−]
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> ToString for T where
T: Display + ?Sized,
[src]
[−]
impl<T> ToString for T where
T: Display + ?Sized,
impl<T, U> Into for T where
U: From<T>,
[src]
[−]
impl<T, U> Into for T where
U: From<T>,
impl<T> From for T
[src]
[−]
impl<T> From for T
impl<T, U> TryFrom for T where
T: From<U>,
[src]
[−]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
[−]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
try_from
)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized,
[src]
[−]
impl<T> Borrow for T where
T: ?Sized,
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
[−]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
[−]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
try_from
)Performs the conversion.
impl<T> BorrowMut for T where
T: ?Sized,
[src]
[−]
impl<T> BorrowMut for T where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
[−]
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Any for T where
T: 'static + ?Sized,
[src]
[−]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
[−]
fn get_type_id(&self) -> TypeId
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Gets the TypeId
of self
. Read more
impl<T> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
impl<T> DeserializeOwned for T where
T: Deserialize<'de>,