litrs

Struct FloatLit

Source
pub struct FloatLit<B: Buffer> { /* private fields */ }
Expand description

A floating point literal, e.g. 3.14, 8., 135e12, 27f32 or 1.956e2f64.

This kind of literal has several forms, but generally consists of a main number part, an optional exponent and an optional type suffix. See the reference for more information.

A leading minus sign - is not part of the literal grammar! -3.14 are two tokens in the Rust grammar.

Implementations§

Source§

impl<B: Buffer> FloatLit<B>

Source

pub fn parse(s: B) -> Result<Self, ParseError>

Parses the input as a floating point literal. Returns an error if the input is invalid or represents a different kind of literal.

Source

pub fn number_part(&self) -> &str

Returns the whole number part (including integer part, fractional part and exponent), but without the type suffix. If you want an actual floating point value, you need to parse this string, e.g. with f32::from_str or an external crate.

Source

pub fn integer_part(&self) -> &str

Returns the non-empty integer part of this literal.

Source

pub fn fractional_part(&self) -> Option<&str>

Returns the optional fractional part of this literal. Does not include the period. If a period exists in the input, Some is returned, None otherwise. Note that Some("") might be returned, e.g. for 3..

Source

pub fn exponent_part(&self) -> &str

Optional exponent part. Might be empty if there was no exponent part in the input. Includes the e or E at the beginning.

Source

pub fn type_suffix(&self) -> Option<FloatType>

The optional type suffix.

Source§

impl FloatLit<&str>

Source

pub fn to_owned(&self) -> FloatLit<String>

Makes a copy of the underlying buffer and returns the owned version of Self.

Trait Implementations§

Source§

impl<B: Clone + Buffer> Clone for FloatLit<B>

Source§

fn clone(&self) -> FloatLit<B>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<B: Debug + Buffer> Debug for FloatLit<B>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<B: Buffer> Display for FloatLit<B>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<B: Buffer> From<FloatLit<B>> for Literal<B>

Source§

fn from(src: FloatLit<B>) -> Self

Converts to this type from the input type.
Source§

impl<B: PartialEq + Buffer> PartialEq for FloatLit<B>

Source§

fn eq(&self, other: &FloatLit<B>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl TryFrom<&Literal> for FloatLit<String>

Source§

type Error = InvalidToken

The type returned in the event of a conversion error.
Source§

fn try_from(src: &Literal) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&TokenTree> for FloatLit<String>

Source§

type Error = InvalidToken

The type returned in the event of a conversion error.
Source§

fn try_from(tt: &TokenTree) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Literal> for FloatLit<String>

Source§

type Error = InvalidToken

The type returned in the event of a conversion error.
Source§

fn try_from(src: Literal) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<TokenTree> for FloatLit<String>

Source§

type Error = InvalidToken

The type returned in the event of a conversion error.
Source§

fn try_from(tt: TokenTree) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<B: Copy + Buffer> Copy for FloatLit<B>

Source§

impl<B: Eq + Buffer> Eq for FloatLit<B>

Source§

impl<B: Buffer> StructuralPartialEq for FloatLit<B>

Auto Trait Implementations§

§

impl<B> Freeze for FloatLit<B>
where B: Freeze,

§

impl<B> RefUnwindSafe for FloatLit<B>
where B: RefUnwindSafe,

§

impl<B> Send for FloatLit<B>
where B: Send,

§

impl<B> Sync for FloatLit<B>
where B: Sync,

§

impl<B> Unpin for FloatLit<B>
where B: Unpin,

§

impl<B> UnwindSafe for FloatLit<B>
where B: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.