#ifndef VEC2_HPP #define VEC2_HPP #include struct Vec2 { float x = 0.f, y = 0.f; constexpr Vec2() = default; constexpr Vec2(float x_, float y_): x(x_), y(y_) {} Vec2(std::tuple tup): x(std::get<0>(tup)), y(std::get<1>(tup)) {} auto operator+(const Vec2& o) const noexcept { return Vec2 {x + o.x, y + o.y}; } auto& operator+=(const Vec2& o) noexcept { x += o.x; y += o.y; return *this; } }; #endif // VEC2_HPP