Trait svgparser::StreamExt [] [src]

pub trait StreamExt {
    fn parse_number(&mut self) -> Result<f64, StreamError>;
fn parse_list_number(&mut self) -> Result<f64, StreamError>;
fn parse_integer(&mut self) -> Result<i32, StreamError>;
fn parse_list_integer(&mut self) -> Result<i32, StreamError>;
fn parse_length(&mut self) -> Result<Length, StreamError>;
fn parse_list_length(&mut self) -> Result<Length, StreamError>;
fn skip_digits(&mut self); }

Stream additional methods.

Required Methods

Parses number from the stream.

This method will detect a number length and then will pass a substring to the std::from_str method.

https://www.w3.org/TR/SVG/types.html#DataTypeNumber

Errors

Returns only InvalidNumber.

Examples

use svgparser::xmlparser::Stream;
use svgparser::StreamExt;

let mut s = Stream::from_str("3.14");
assert_eq!(s.parse_number().unwrap(), 3.14);
assert_eq!(s.at_end(), true);

Parses number from the list of numbers.

Examples

use svgparser::xmlparser::Stream;
use svgparser::StreamExt;

let mut s = Stream::from_str("3.14, 12,5 , 20-4");
assert_eq!(s.parse_list_number().unwrap(), 3.14);
assert_eq!(s.parse_list_number().unwrap(), 12.0);
assert_eq!(s.parse_list_number().unwrap(), 5.0);
assert_eq!(s.parse_list_number().unwrap(), 20.0);
assert_eq!(s.parse_list_number().unwrap(), -4.0);

Parses integer number from the stream.

Same as parse_number(), but only for integer. Does not refer to any SVG type.

Parses integer from the list of numbers.

Parses length from the stream.

https://www.w3.org/TR/SVG/types.html#DataTypeLength

Examples

use svgparser::xmlparser::Stream;
use svgparser::{StreamExt, Length, LengthUnit};

let mut s = Stream::from_str("30%");
assert_eq!(s.parse_length().unwrap(), Length::new(30.0, LengthUnit::Percent));

Notes

  • Suffix must be lowercase, otherwise it will be an error.

Parses length from the list of lengths.

Skips digits.

Implementations on Foreign Types

impl<'a> StreamExt for Stream<'a>
[src]

Implementors