Trait geo::algorithm::map_coords::TryMapCoords [−][src]
pub trait TryMapCoords<T, NT> { type Output; fn try_map_coords(
&self,
func: &Fn(&(T, T)) -> Result<(NT, NT), Error>
) -> Result<Self::Output, Error>
where
T: CoordinateType,
NT: CoordinateType; }
Map a fallible function over all the coordinates in a geometry, returning a Result
Associated Types
type Output
Required Methods
fn try_map_coords(
&self,
func: &Fn(&(T, T)) -> Result<(NT, NT), Error>
) -> Result<Self::Output, Error> where
T: CoordinateType,
NT: CoordinateType,
&self,
func: &Fn(&(T, T)) -> Result<(NT, NT), Error>
) -> Result<Self::Output, Error> where
T: CoordinateType,
NT: CoordinateType,
Map a fallible function over all the coordinates in a geometry, returning a Result
Examples
use geo::Point; use geo::algorithm::map_coords::TryMapCoords; let p1 = Point::new(10., 20.); let p2 = p1.try_map_coords(&|&(x, y)| Ok((x+1000., y*2.))).unwrap(); assert_eq!(p2, Point::new(1010., 40.));
Implementors
impl<T: CoordinateType, NT: CoordinateType> TryMapCoords<T, NT> for Point<T> type Output = Point<NT>;
impl<T: CoordinateType, NT: CoordinateType> TryMapCoords<T, NT> for Line<T> type Output = Line<NT>;
impl<T: CoordinateType, NT: CoordinateType> TryMapCoords<T, NT> for LineString<T> type Output = LineString<NT>;
impl<T: CoordinateType, NT: CoordinateType> TryMapCoords<T, NT> for Polygon<T> type Output = Polygon<NT>;
impl<T: CoordinateType, NT: CoordinateType> TryMapCoords<T, NT> for MultiPoint<T> type Output = MultiPoint<NT>;
impl<T: CoordinateType, NT: CoordinateType> TryMapCoords<T, NT> for MultiLineString<T> type Output = MultiLineString<NT>;
impl<T: CoordinateType, NT: CoordinateType> TryMapCoords<T, NT> for MultiPolygon<T> type Output = MultiPolygon<NT>;
impl<T: CoordinateType, NT: CoordinateType> TryMapCoords<T, NT> for Geometry<T> type Output = Geometry<NT>;
impl<T: CoordinateType, NT: CoordinateType> TryMapCoords<T, NT> for GeometryCollection<T> type Output = GeometryCollection<NT>;