| 32 | |
| 33 | template <typename T> |
| 34 | static void WriteVector3D(std::ostream &out, const char *name, const T &vector3D) { |
| 35 | out << name |
| 36 | << "(x=" << std::to_string(vector3D.x) |
| 37 | << ", y=" << std::to_string(vector3D.y) |
| 38 | << ", z=" << std::to_string(vector3D.z) << ')'; |
| 39 | } |
| 40 | |
| 41 | std::ostream &operator<<(std::ostream &out, const Vector2D &vector2D) { |
| 42 | WriteVector2D(out, "Vector2D", vector2D); |