pub trait AsEwkbGeometry<'a> {
type PointType: 'a + Point + EwkbRead;
type PointIter: Iterator<Item = &'a Self::PointType> + ExactSizeIterator<Item = &'a Self::PointType>;
type MultiPointType: 'a + MultiPoint<'a, ItemType = Self::PointType, Iter = Self::PointIter>;
type LineType: 'a + LineString<'a, ItemType = Self::PointType, Iter = Self::PointIter>;
type LineIter: Iterator<Item = &'a Self::LineType> + ExactSizeIterator<Item = &'a Self::LineType>;
type MultiLineType: 'a + MultiLineString<'a, ItemType = Self::LineType, Iter = Self::LineIter>;
type PolyType: 'a + Polygon<'a, ItemType = Self::LineType, Iter = Self::LineIter>;
type PolyIter: Iterator<Item = &'a Self::PolyType> + ExactSizeIterator<Item = &'a Self::PolyType>;
type MultiPolyType: 'a + MultiPolygon<'a, ItemType = Self::PolyType, Iter = Self::PolyIter>;
type GeomType: 'a + Geometry<'a, Point = Self::PointType, LineString = Self::LineType, Polygon = Self::PolyType, MultiPoint = Self::MultiPointType, MultiLineString = Self::MultiLineType, MultiPolygon = Self::MultiPolyType, GeometryCollection = Self::GeomCollection>;
type GeomIter: Iterator<Item = &'a Self::GeomType> + ExactSizeIterator<Item = &'a Self::GeomType>;
type GeomCollection: 'a + GeometryCollection<'a, ItemType = Self::GeomType, Iter = Self::GeomIter>;
fn as_ewkb(
&'a self
) -> EwkbGeometry<'a, Self::PointType, Self::PointIter, Self::MultiPointType, Self::LineType, Self::LineIter, Self::MultiLineType, Self::PolyType, Self::PolyIter, Self::MultiPolyType, Self::GeomType, Self::GeomIter, Self::GeomCollection>;
}