Trait OSMReader

Source
pub trait OSMReader {
    type R: Read;
    type Obj: OSMObj;

    // Required methods
    fn new(_: Self::R) -> Self;
    fn into_inner(self) -> Self::R;
    fn inner(&self) -> &Self::R;
    fn next(&mut self) -> Option<Self::Obj>;

    // Provided methods
    fn set_sorted_assumption(&mut self, sorted_assumption: bool) { ... }
    fn get_sorted_assumption(&mut self) -> bool { ... }
    fn assume_sorted(&mut self) { ... }
    fn assume_unsorted(&mut self) { ... }
    fn objects(&mut self) -> OSMObjectIterator<'_, Self> 
       where Self: Sized { ... }
    fn nodes(
        &mut self,
    ) -> Box<dyn Iterator<Item = <<Self as OSMReader>::Obj as OSMObj>::Node> + '_>
       where Self: Sized { ... }
    fn ways(
        &mut self,
    ) -> Box<dyn Iterator<Item = <<Self as OSMReader>::Obj as OSMObj>::Way> + '_>
       where Self: Sized { ... }
    fn relations(
        &mut self,
    ) -> Box<dyn Iterator<Item = <<Self as OSMReader>::Obj as OSMObj>::Relation> + '_>
       where Self: Sized { ... }
}
Expand description

A Generic reader that reads OSM objects

Required Associated Types§

Source

type R: Read

The underlying std::io::Read.

Source

type Obj: OSMObj

The type of OSM Object that this returns

Required Methods§

Source

fn new(_: Self::R) -> Self

Create this reader from a std::io::Read.

Source

fn into_inner(self) -> Self::R

Convert to the underlying reader

Source

fn inner(&self) -> &Self::R

Reference to the inner

Source

fn next(&mut self) -> Option<Self::Obj>

Returns the next OSM Object in this reader

Provided Methods§

Source

fn set_sorted_assumption(&mut self, sorted_assumption: bool)

Source

fn get_sorted_assumption(&mut self) -> bool

Source

fn assume_sorted(&mut self)

Source

fn assume_unsorted(&mut self)

Source

fn objects(&mut self) -> OSMObjectIterator<'_, Self>
where Self: Sized,

Returns an iterator over the objects in this reader.

Source

fn nodes( &mut self, ) -> Box<dyn Iterator<Item = <<Self as OSMReader>::Obj as OSMObj>::Node> + '_>
where Self: Sized,

Source

fn ways( &mut self, ) -> Box<dyn Iterator<Item = <<Self as OSMReader>::Obj as OSMObj>::Way> + '_>
where Self: Sized,

Source

fn relations( &mut self, ) -> Box<dyn Iterator<Item = <<Self as OSMReader>::Obj as OSMObj>::Relation> + '_>
where Self: Sized,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<R: Read> OSMReader for osmio::arcpbf::PBFReader<R>

Source§

impl<R: Read> OSMReader for OSCReader<R>

Source§

impl<R: Read> OSMReader for osmio::stringpbf::PBFReader<R>

Source§

impl<R: Read> OSMReader for XMLReader<R>