1.0.0[−][src]Trait messagebird_async::sms::FromStr
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
type Err
The associated error which can be returned from parsing.
Required methods
fn from_str(s: &str) -> Result<Self, Self::Err>
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 SocketAddrV6[src]
impl FromStr for SocketAddrV6type Err = AddrParseError
fn from_str(s: &str) -> Result<SocketAddrV6, AddrParseError> | [src] |
impl FromStr for SocketAddrV4[src]
impl FromStr for SocketAddrV4type Err = AddrParseError
fn from_str(s: &str) -> Result<SocketAddrV4, AddrParseError> | [src] |
impl FromStr for IpAddr[src]
impl FromStr for IpAddrtype Err = AddrParseError
fn from_str(s: &str) -> Result<IpAddr, AddrParseError> | [src] |
impl FromStr for Ipv4Addr[src]
impl FromStr for Ipv4Addrtype Err = AddrParseError
fn from_str(s: &str) -> Result<Ipv4Addr, AddrParseError> | [src] |
impl FromStr for PathBuf[src]
impl FromStr for PathBufimpl FromStr for Ipv6Addr[src]
impl FromStr for Ipv6Addrtype Err = AddrParseError
fn from_str(s: &str) -> Result<Ipv6Addr, AddrParseError> | [src] |
impl FromStr for SocketAddr[src]
impl FromStr for SocketAddrtype Err = AddrParseError
fn from_str(s: &str) -> Result<SocketAddr, AddrParseError> | [src] |
impl FromStr for u128[src]
impl FromStr for u128type Err = ParseIntError
fn from_str(src: &str) -> Result<u128, ParseIntError> | [src] |
impl FromStr for f64[src]
impl FromStr for f64type Err = ParseFloatError
fn from_str(src: &str) -> Result<f64, ParseFloatError> | [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 char[src]
impl FromStr for charimpl FromStr for u8[src]
impl FromStr for u8type Err = ParseIntError
fn from_str(src: &str) -> Result<u8, ParseIntError> | [src] |
impl FromStr for i16[src]
impl FromStr for i16type Err = ParseIntError
fn from_str(src: &str) -> Result<i16, ParseIntError> | [src] |
impl FromStr for bool[src]
impl FromStr for booltype Err = ParseBoolError
fn from_str(s: &str) -> Result<bool, ParseBoolError> | [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 u64[src]
impl FromStr for u64type Err = ParseIntError
fn from_str(src: &str) -> Result<u64, ParseIntError> | [src] |
impl FromStr for i128[src]
impl FromStr for i128type Err = ParseIntError
fn from_str(src: &str) -> Result<i128, ParseIntError> | [src] |
impl FromStr for u32[src]
impl FromStr for u32type Err = ParseIntError
fn from_str(src: &str) -> Result<u32, ParseIntError> | [src] |
impl FromStr for i32[src]
impl FromStr for i32type Err = ParseIntError
fn from_str(src: &str) -> Result<i32, ParseIntError> | [src] |
impl FromStr for f32[src]
impl FromStr for f32type Err = ParseFloatError
fn from_str(src: &str) -> Result<f32, ParseFloatError> | [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 i64[src]
impl FromStr for i64type Err = ParseIntError
fn from_str(src: &str) -> Result<i64, ParseIntError> | [src] |
impl FromStr for isize[src]
impl FromStr for isizetype Err = ParseIntError
fn from_str(src: &str) -> Result<isize, ParseIntError> | [src] |
impl FromStr for usize[src]
impl FromStr for usizetype Err = ParseIntError
fn from_str(src: &str) -> Result<usize, ParseIntError> | [src] |
impl FromStr for u16[src]
impl FromStr for u16type Err = ParseIntError
fn from_str(src: &str) -> Result<u16, ParseIntError> | [src] |
impl FromStr for i8[src]
impl FromStr for i8type Err = ParseIntError
fn from_str(src: &str) -> Result<i8, ParseIntError> | [src] |
impl FromStr for String[src]
impl FromStr for Stringtype Err = ParseError
fn from_str(s: &str) -> Result<String, ParseError> | [src] |
impl FromStr for Name[src]
impl FromStr for Nameimpl FromStr for LevelFilter[src]
impl FromStr for LevelFiltertype Err = ParseLevelError
fn from_str(level: &str) -> Result<LevelFilter, <LevelFilter as FromStr>::Err> | [src] |
impl FromStr for Level[src]
impl FromStr for Levelimpl FromStr for Authority[src]
impl FromStr for Authoritytype Err = InvalidUri
fn from_str(s: &str) -> Result<Authority, InvalidUri> | [src] |
impl FromStr for PathAndQuery[src]
impl FromStr for PathAndQuerytype Err = InvalidUri
fn from_str(s: &str) -> Result<PathAndQuery, InvalidUri> | [src] |
impl FromStr for Scheme[src]
impl FromStr for Schemeimpl FromStr for Uri[src]
impl FromStr for Uritype Err = InvalidUri
fn from_str(s: &str) -> Result<Uri, InvalidUri> | [src] |
impl FromStr for HeaderName[src]
impl FromStr for HeaderNametype Err = InvalidHeaderName
fn from_str(s: &str) -> Result<HeaderName, InvalidHeaderName> | [src] |
impl FromStr for StatusCode[src]
impl FromStr for StatusCodetype Err = InvalidStatusCode
fn from_str(s: &str) -> Result<StatusCode, InvalidStatusCode> | [src] |
impl FromStr for HeaderValue[src]
impl FromStr for HeaderValuetype Err = InvalidHeaderValue
fn from_str(s: &str) -> Result<HeaderValue, <HeaderValue as FromStr>::Err> | [src] |
impl FromStr for Method[src]
impl FromStr for Methodimpl FromStr for BigUint[src]
impl FromStr for BigUinttype Err = ParseBigIntError
fn from_str(s: &str) -> Result<BigUint, ParseBigIntError> | [src] |
impl FromStr for BigInt[src]
impl FromStr for BigInttype Err = ParseBigIntError
fn from_str(s: &str) -> Result<BigInt, ParseBigIntError> | [src] |
impl<T> FromStr for Complex<T> where
T: FromStr + Num + Clone, [src]
impl<T> FromStr for Complex<T> where
T: FromStr + Num + Clone, type Err = ParseComplexError<<T as FromStr>::Err>
fn from_str(s: &str) -> Result<Complex<T>, <Complex<T> as FromStr>::Err> | [src] |
Parses a +/- bi; ai +/- b; a; or bi where a and b are of type T
impl<T> FromStr for Ratio<T> where
T: Clone + FromStr + Integer, [src]
impl<T> FromStr for Ratio<T> where
T: Clone + FromStr + Integer, type Err = ParseRatioError
fn from_str(s: &str) -> Result<Ratio<T>, ParseRatioError> | [src] |
Parses numer/denom or just numer.
impl FromStr for Value[src]
impl FromStr for Valueimpl FromStr for Number[src]
impl FromStr for Numberimpl FromStr for Url[src]
impl FromStr for UrlParse a string as an URL, without a base URL or encoding override.
type Err = ParseError
fn from_str(input: &str) -> Result<Url, ParseError> | [src] |
impl FromStr for NaiveDateTime[src]
impl FromStr for NaiveDateTimeParsing a str into a NaiveDateTime uses the same format,
%Y-%m-%dT%H:%M:%S%.f, as in Debug.
Example
use chrono::{NaiveDateTime, NaiveDate}; let dt = NaiveDate::from_ymd(2015, 9, 18).and_hms(23, 56, 4); assert_eq!("2015-09-18T23:56:04".parse::<NaiveDateTime>(), Ok(dt)); let dt = NaiveDate::from_ymd(12345, 6, 7).and_hms_milli(7, 59, 59, 1_500); // leap second assert_eq!("+12345-6-7T7:59:60.5".parse::<NaiveDateTime>(), Ok(dt)); assert!("foo".parse::<NaiveDateTime>().is_err());
type Err = ParseError
fn from_str(s: &str) -> Result<NaiveDateTime, ParseError> | [src] |
impl FromStr for DateTime<Utc>[src]
impl FromStr for DateTime<Utc>type Err = ParseError
fn from_str(s: &str) -> Result<DateTime<Utc>, ParseError> | [src] |
impl FromStr for DateTime<Local>[src]
impl FromStr for DateTime<Local>type Err = ParseError
fn from_str(s: &str) -> Result<DateTime<Local>, ParseError> | [src] |
impl FromStr for DateTime<FixedOffset>[src]
impl FromStr for DateTime<FixedOffset>type Err = ParseError
fn from_str(s: &str) -> Result<DateTime<FixedOffset>, ParseError> | [src] |
impl FromStr for Weekday[src]
impl FromStr for WeekdayParsing a str into a Weekday uses the format %W.
Example
use chrono::Weekday; assert_eq!("Sunday".parse::<Weekday>(), Ok(Weekday::Sun)); assert!("any day".parse::<Weekday>().is_err());
The parsing is case-insensitive.
assert_eq!("mON".parse::<Weekday>(), Ok(Weekday::Mon));
Only the shortest form (e.g. sun) and the longest form (e.g. sunday) is accepted.
assert!("thurs".parse::<Weekday>().is_err());
impl FromStr for NaiveTime[src]
impl FromStr for NaiveTimeParsing a str into a NaiveTime uses the same format,
%H:%M:%S%.f, as in Debug and Display.
Example
use chrono::NaiveTime; let t = NaiveTime::from_hms(23, 56, 4); assert_eq!("23:56:04".parse::<NaiveTime>(), Ok(t)); let t = NaiveTime::from_hms_nano(23, 56, 4, 12_345_678); assert_eq!("23:56:4.012345678".parse::<NaiveTime>(), Ok(t)); let t = NaiveTime::from_hms_nano(23, 59, 59, 1_234_567_890); // leap second assert_eq!("23:59:60.23456789".parse::<NaiveTime>(), Ok(t)); assert!("foo".parse::<NaiveTime>().is_err());
type Err = ParseError
fn from_str(s: &str) -> Result<NaiveTime, ParseError> | [src] |
impl FromStr for NaiveDate[src]
impl FromStr for NaiveDateParsing a str into a NaiveDate uses the same format,
%Y-%m-%d, as in Debug and Display.
Example
use chrono::NaiveDate; let d = NaiveDate::from_ymd(2015, 9, 18); assert_eq!("2015-09-18".parse::<NaiveDate>(), Ok(d)); let d = NaiveDate::from_ymd(12345, 6, 7); assert_eq!("+12345-6-7".parse::<NaiveDate>(), Ok(d)); assert!("foo".parse::<NaiveDate>().is_err());
type Err = ParseError
fn from_str(s: &str) -> Result<NaiveDate, ParseError> | [src] |
impl FromStr for Regex[src]
impl FromStr for Regextype Err = Error
fn from_str(s: &str) -> Result<Regex, Error> | [src] |
Attempts to parse a string into a regular expression
impl FromStr for Regex[src]
impl FromStr for Regextype Err = Error
fn from_str(s: &str) -> Result<Regex, Error> | [src] |
Attempts to parse a string into a regular expression
Implementors
impl FromStr for Direction[src]
impl FromStr for Directionimpl FromStr for Originator[src]
impl FromStr for Originatorimpl FromStr for Payload[src]
impl FromStr for Payloadimpl FromStr for PayloadType[src]
impl FromStr for PayloadTypeimpl FromStr for QueryRecipient[src]
impl FromStr for QueryRecipientimpl FromStr for Status[src]
impl FromStr for Statusimpl FromStr for AccessKey[src]
impl FromStr for AccessKeyimpl FromStr for AlphaNumeric[src]
impl FromStr for AlphaNumericimpl FromStr for messagebird_async::sms::DateTime[src]
impl FromStr for messagebird_async::sms::DateTimeimpl FromStr for Gateway[src]
impl FromStr for Gatewayimpl FromStr for Identifier[src]
impl FromStr for Identifierimpl FromStr for Msisdn[src]
impl FromStr for Msisdnimpl FromStr for NotificationQueryShort[src]
impl FromStr for NotificationQueryShortimpl FromStr for NotificationQueryVMN[src]
impl FromStr for NotificationQueryVMNimpl FromStr for Recipient[src]
impl FromStr for Recipientimpl FromStr for TelephoneNumber[src]
impl FromStr for TelephoneNumber