1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
//! Reads an activity from GPX format. use std::io::Read; use errors::*; use parser::{create_context, gpx}; use Gpx; use GpxVersion; /// Reads an activity in GPX format. /// /// Takes any `std::io::Read` as its reader, and returns a /// `Result<Gpx>`. /// /// ``` /// use std::io::BufReader; /// use gpx::read; /// use gpx::Gpx; /// use gpx::errors::*; /// /// // You can give it anything that implements `std::io::Read`. /// let data = BufReader::new("<gpx></gpx>".as_bytes()); /// /// let res: Result<Gpx> = read(data); /// /// match res { /// Ok(gpx) => { /// // .. /// } /// /// Err(e) => { /// // .. /// } /// } /// ``` pub fn read<R: Read>(reader: R) -> Result<Gpx> { gpx::consume(&mut create_context(reader, GpxVersion::Unknown)) }