1 2 struct UnknownUnits {}; 3 typedef float Float; 4 5 template<class units, class F = Float> 6 struct PointTyped { 7 F x; 8 F y; 9 FromUnknownPointPointTyped10 static PointTyped<units, F> FromUnknownPoint(const PointTyped<UnknownUnits, F>& aPoint) { 11 return PointTyped<units, F>(aPoint.x, aPoint.y); 12 } 13 ToUnknownPointPointTyped14 PointTyped<UnknownUnits, F> ToUnknownPoint() const { 15 return PointTyped<UnknownUnits, F>(this->x, this->y); 16 } 17 }; 18 19 typedef PointTyped<UnknownUnits> IntPoint; 20