1mod impl_point;
7mod impl_point_ext;
8mod impl_point_repr;
9pub type PointView<'a, X, Y = X> = Point<&'a X, &'a Y>;
11pub type PointViewMut<'a, X, Y = X> = Point<&'a mut X, &'a mut Y>;
14pub type RawPoint<X, Y = X> = Point<*const X, *const Y>;
16pub type RawPointMut<X, Y = X> = Point<*mut X, *mut Y>;
18
19#[derive(Clone, Copy, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
22#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
23#[repr(C)]
24pub struct Point<X, Y = X> {
25 #[cfg_attr(feature = "serde", serde(alias = "lhs", alias = "a"))]
26 pub x: X,
27 #[cfg_attr(feature = "serde", serde(alias = "rhs", alias = "b"))]
28 pub y: Y,
29}