1 #pragma once 2 3 namespace mapbox { 4 namespace geometry { 5 6 template <typename T> 7 struct point 8 { 9 using coordinate_type = T; 10 pointmapbox::geometry::point11 constexpr point() 12 : x(), y() 13 {} pointmapbox::geometry::point14 constexpr point(T x_, T y_) 15 : x(x_), y(y_) 16 {} 17 18 T x; 19 T y; 20 }; 21 22 template <typename T> operator ==(point<T> const & lhs,point<T> const & rhs)23constexpr bool operator==(point<T> const& lhs, point<T> const& rhs) 24 { 25 return lhs.x == rhs.x && lhs.y == rhs.y; 26 } 27 28 template <typename T> operator !=(point<T> const & lhs,point<T> const & rhs)29constexpr bool operator!=(point<T> const& lhs, point<T> const& rhs) 30 { 31 return !(lhs == rhs); 32 } 33 34 } // namespace geometry 35 } // namespace mapbox 36