5#if __cpp_constexpr >= 201304
6# define CONSTEXPR14 constexpr
8# define CONSTEXPR14 inline
11static double global_vector2_ref_dummy = 0.0;
30 :
_x{global_vector2_ref_dummy},
_y{global_vector2_ref_dummy} {}
51 constexpr auto x() const noexcept -> const
double& {
return this->
_x; }
58 constexpr auto y() const noexcept -> const
double& {
return this->
_y; }
71 return this->_x * other._x + this->_y * other._y;
86 return this->_x * other._y - other._x * this->
_y;
104 this->_x += other.
x();
105 this->_y += other.y();
119 this->_x -= other.
x();
120 this->_y -= other.y();
182 out <<
"{" << vec.x() <<
", " << vec.y() <<
"}";
Vector2Ref.
Definition vector2_ref.hpp:19
CONSTEXPR14 auto operator-=(const Vector2< double, double > &other) -> Vector2Ref &
Definition vector2_ref.hpp:118
constexpr Vector2Ref() noexcept
Construct a new Vector2Ref object.
Definition vector2_ref.hpp:29
constexpr auto y() const noexcept -> const double &
Definition vector2_ref.hpp:58
constexpr auto x() const noexcept -> const double &
Definition vector2_ref.hpp:51
CONSTEXPR14 auto operator/=(const double &alpha) -> Vector2Ref &
Definition vector2_ref.hpp:149
constexpr auto dot(const Vector2Ref &other) const -> double
Definition vector2_ref.hpp:70
constexpr auto cross(const Vector2Ref &other) const -> double
Definition vector2_ref.hpp:85
constexpr Vector2Ref(double &x, double &y) noexcept
Construct a new Vector2Ref object.
Definition vector2_ref.hpp:44
CONSTEXPR14 auto operator*=(const double &alpha) -> Vector2Ref &
Definition vector2_ref.hpp:133
double & _x
Definition vector2_ref.hpp:21
CONSTEXPR14 auto operator+=(const Vector2< double, double > &other) -> Vector2Ref &
Definition vector2_ref.hpp:103
CONSTEXPR14 auto operator*(const double &alpha) const -> Vector2< double, double >
Definition vector2_ref.hpp:162
friend auto operator<<(Stream &out, const Vector2Ref &vec) -> Stream &
Definition vector2_ref.hpp:180
double & _y
Definition vector2_ref.hpp:22
Vector2.
Definition vector2.hpp:19
#define CONSTEXPR14
Definition matrix2.hpp:15