Trait artifact_app::dev_prefix::FromStr1.0.0 [] [src]

pub trait FromStr {
    type Err;
    fn from_str(s: &str) -> Result<Self, Self::Err>;
}

A trait to abstract the idea of creating a new instance of a type from a string.

FromStr's from_str method is often used implicitly, through str's parse method. See parse's documentation for examples.

Examples

Basic implementation of FromStr on an example Point type:

use std::str::FromStr;
use std::num::ParseIntError;

#[derive(Debug, PartialEq)]
struct Point {
    x: i32,
    y: i32
}

impl FromStr for Point {
    type Err = ParseIntError;

    fn from_str(s: &str) -> Result<Self, Self::Err> {
        let coords: Vec<&str> = s.trim_matches(|p| p == '(' || p == ')' )
                                 .split(",")
                                 .collect();

        let x_fromstr = coords[0].parse::<i32>()?;
        let y_fromstr = coords[1].parse::<i32>()?;

        Ok(Point { x: x_fromstr, y: y_fromstr })
    }
}

let p = Point::from_str("(1,2)");
assert_eq!(p.unwrap(), Point{ x: 1, y: 2} )

Associated Types

The associated error which can be returned from parsing.

Required Methods

Parses a string s to return a value of this type.

If parsing succeeds, return the value inside Ok, otherwise when the string is ill-formatted return an error specific to the inside Err. The error type is specific to implementation of the trait.

Examples

Basic usage with i32, a type that implements FromStr:

use std::str::FromStr;

let s = "5";
let x = i32::from_str(s).unwrap();

assert_eq!(5, x);

Implementations on Foreign Types

impl FromStr for Json
[src]

impl FromStr for Value
[src]

[src]

impl FromStr for i32
[src]

impl FromStr for bool
[src]

[src]

Parse a bool from a string.

Yields a Result<bool, ParseBoolError>, because s may or may not actually be parseable.

Examples

use std::str::FromStr;

assert_eq!(FromStr::from_str("true"), Ok(true));
assert_eq!(FromStr::from_str("false"), Ok(false));
assert!(<bool as FromStr>::from_str("not even a boolean").is_err());

Note, in many cases, the .parse() method on str is more proper.

assert_eq!("true".parse(), Ok(true));
assert_eq!("false".parse(), Ok(false));
assert!("not even a boolean".parse::<bool>().is_err());

impl FromStr for char
[src]

impl FromStr for f32
[src]

[src]

Converts a string in base 10 to a float. Accepts an optional decimal exponent.

This function accepts strings such as

  • '3.14'
  • '-3.14'
  • '2.5E10', or equivalently, '2.5e10'
  • '2.5E-10'
  • '5.'
  • '.5', or, equivalently, '0.5'
  • 'inf', '-inf', 'NaN'

Leading and trailing whitespace represent an error.

Arguments

  • src - A string

Return value

Err(ParseFloatError) if the string did not represent a valid number. Otherwise, Ok(n) where n is the floating-point number represented by src.

impl FromStr for u64
[src]

impl FromStr for u8
[src]

impl FromStr for i16
[src]

impl FromStr for u16
[src]

impl FromStr for isize
[src]

impl FromStr for f64
[src]

[src]

Converts a string in base 10 to a float. Accepts an optional decimal exponent.

This function accepts strings such as

  • '3.14'
  • '-3.14'
  • '2.5E10', or equivalently, '2.5e10'
  • '2.5E-10'
  • '5.'
  • '.5', or, equivalently, '0.5'
  • 'inf', '-inf', 'NaN'

Leading and trailing whitespace represent an error.

Arguments

  • src - A string

Return value

Err(ParseFloatError) if the string did not represent a valid number. Otherwise, Ok(n) where n is the floating-point number represented by src.

impl FromStr for u128
[src]

impl FromStr for i8
[src]

impl FromStr for i64
[src]

impl FromStr for i128
[src]

impl FromStr for usize
[src]

impl FromStr for u32
[src]

impl FromStr for Uuid
[src]

[src]

Parse a hex string and interpret as a Uuid.

Accepted formats are a sequence of 32 hexadecimal characters, with or without hyphens (grouped as 8, 4, 4, 4, 12).

impl<S> FromStr for UniCase<S> where
    S: FromStr

impl FromStr for String
[src]

impl FromStr for LanguageTag

impl FromStr for Op

impl FromStr for Regex
[src]

[src]

Attempts to parse a string into a regular expression

impl FromStr for MediaType
[src]

[src]

impl FromStr for LogLevel
[src]

[src]

impl FromStr for LogLevelFilter
[src]

[src]

impl<S> FromStr for UniCase<S> where
    S: AsRef<str> + FromStr

impl<S> FromStr for Ascii<S> where
    S: FromStr

impl FromStr for Ipv6Addr
[src]

impl FromStr for SocketAddrV6
[src]

impl FromStr for SocketAddrV4
[src]

impl FromStr for Ipv4Addr
[src]

impl FromStr for SocketAddr
[src]

impl FromStr for IpAddr
[src]

impl FromStr for Datetime
[src]

impl FromStr for Value
[src]

[src]

impl FromStr for ConnectionOption
[src]

impl FromStr for ProtocolName
[src]

impl FromStr for Basic
[src]

[src]

impl FromStr for Host
[src]

[src]

impl FromStr for Bearer
[src]

impl FromStr for Charset
[src]

impl FromStr for Protocol
[src]

[src]

impl FromStr for CacheDirective
[src]

impl FromStr for MediaDesc
[src]

impl FromStr for Preference
[src]

impl FromStr for ContentRangeSpec
[src]

impl FromStr for RangeUnit
[src]

impl FromStr for StrictTransportSecurity
[src]

impl FromStr for RelationType
[src]

impl FromStr for EntityTag
[src]

impl FromStr for Encoding
[src]

impl FromStr for HttpVersion
[src]

impl<T> FromStr for QualityItem<T> where
    T: FromStr
[src]

impl FromStr for Method
[src]

impl FromStr for HttpDate
[src]

impl FromStr for Link
[src]

[src]

impl FromStr for ByteRangeSpec
[src]

impl FromStr for Range
[src]

[src]

impl FromStr for RequestUri
[src]

impl FromStr for Origin
[src]

impl FromStr for CFString

See also CFString::new for a variant of this which does not return a Result

impl FromStr for VersionReq

impl FromStr for Version

impl<T> FromStr for QualityItem<T> where
    T: FromStr
[src]

impl FromStr for Basic
[src]

[src]

impl FromStr for ConnectionOption
[src]

impl FromStr for Uri
[src]

impl FromStr for Preference
[src]

impl FromStr for Origin
[src]

impl FromStr for Encoding
[src]

impl FromStr for ProtocolName
[src]

impl FromStr for Range
[src]

[src]

impl FromStr for RelationType
[src]

impl FromStr for Bearer
[src]

impl FromStr for ByteRangeSpec
[src]

impl FromStr for Charset
[src]

impl FromStr for EntityTag
[src]

impl FromStr for HttpVersion
[src]

impl FromStr for Link
[src]

[src]

impl FromStr for StrictTransportSecurity
[src]

impl FromStr for ContentRangeSpec
[src]

impl FromStr for Method
[src]

impl FromStr for HttpDate
[src]

impl FromStr for RangeUnit
[src]

impl FromStr for Protocol
[src]

[src]

impl FromStr for CacheDirective
[src]

impl FromStr for Warning
[src]

impl FromStr for MediaDesc
[src]

impl FromStr for Host
[src]

[src]

impl FromStr for Mime
[src]

impl FromStr for Value
[src]

[src]

impl FromStr for Attr
[src]

[src]

impl FromStr for Mime<Vec<(Attr, Value)>>
[src]

[src]

impl FromStr for TopLevel
[src]

[src]

impl FromStr for SubLevel
[src]

[src]

impl FromStr for AppSettings
[src]

impl FromStr for ArgSettings
[src]

impl FromStr for Shell
[src]

[src]

impl FromStr for Url
[src]

Parse a string as an URL, without a base URL or encoding override.

Implementors