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
fn parse_number(&mut self) -> Result<f64, StreamError>
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);
fn parse_list_number(&mut self) -> Result<f64, StreamError>
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);
fn parse_integer(&mut self) -> Result<i32, StreamError>
Parses integer number from the stream.
Same as parse_number()
, but only for integer. Does not refer to any SVG type.
fn parse_list_integer(&mut self) -> Result<i32, StreamError>
Parses integer from the list of numbers.
fn parse_length(&mut self) -> Result<Length, StreamError>
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.
fn parse_list_length(&mut self) -> Result<Length, StreamError>
Parses length from the list of lengths.
fn skip_digits(&mut self)
Skips digits.