#include <bairstow/vector2.hpp>
template<typename T1, typename T2 = T1>
Vector2 class
Constructors, destructors, conversion operators
- Vector2() constexpr
- Construct a new Vector2 object.
- Vector2(T1&& x, T2&& y) constexpr noexcept
- Construct a new Vector2 object.
- Vector2(const T1& x, const T2& y) constexpr
- Construct a new Vector2 object.
-
template<typename U1, typename U2>Vector2(const Vector2<U1, U2>& other) explicit constexpr
- Construct a new Vector2 object.
Public functions
- auto x() const noexcept -> const T1 & -> auto constexpr
- auto y() const noexcept -> const T2 & -> auto constexpr
-
template<typename U1, typename U2>auto dot(const Vector2<U1, U2>& other) const -> double -> auto constexpr
-
template<typename U1, typename U2>auto cross(const Vector2<U1, U2>& other) const -> double -> auto constexpr
Public variables
Arithmetic operators
definie +, -, *, /, +=, -=, *=, /=, etc.
- auto operator-() const -> Vector2< T1, T2 > -> auto constexpr
- Negate.
-
template<typename U1, typename U2>auto operator+=(const Vector2<U1, U2>& other) -> Vector2< T1, T2 > & -> CONSTEXPR14 auto
- Add.
-
template<typename U1, typename U2>auto operator-=(const Vector2<U1, U2>& other) -> Vector2< T1, T2 > & -> CONSTEXPR14 auto
- Substract.
-
template<typename R>auto operator*=(const R& alpha) -> Vector2< T1, T2 > & -> CONSTEXPR14 auto
- Multiply.
-
template<typename R>auto operator/=(const R& alpha) -> Vector2< T1, T2 > & -> CONSTEXPR14 auto
- Divide.
-
template<typename U1, typename U2>auto operator+(Vector2<T1, T2> x, const Vector2<U1, U2>& y) -> Vector2< T1, T2 > -> auto constexpr
- Add.
-
template<typename U1, typename U2>auto operator-(Vector2<T1, T2> x, const Vector2<U1, U2>& y) -> Vector2< T1, T2 > -> auto constexpr
- Substract.
-
template<typename R>auto operator*(Vector2<T1, T2> x, const R& alpha) -> Vector2< T1, T2 > -> auto constexpr
- Multiply by a scalar.
-
template<typename R>auto operator*(const R& alpha, Vector2<T1, T2> x) -> Vector2< T1, T2 > -> auto constexpr
- Multiply (by a scalar)
-
template<typename R>auto operator/(Vector2<T1, T2> x, const R& alpha) -> Vector2< T1, T2 > -> auto constexpr
- Divide (by a scalar)
Friends
-
template<class Stream>auto operator<<(Stream& out, const Vector2<T1, T2>& v) -> Stream & -> auto
Function documentation
template<typename T1, typename T2>
auto numeric:: Vector2<T1, T2>:: x() const noexcept -> const T1 & constexpr
Returns | constexpr const T1& |
---|
template<typename T1, typename T2>
auto numeric:: Vector2<T1, T2>:: y() const noexcept -> const T2 & constexpr
Returns | constexpr const T2& |
---|
template<typename T1, typename T2>
template<typename U1, typename U2>
CONSTEXPR14 auto numeric:: Vector2<T1, T2>:: operator+=(const Vector2<U1, U2>& other) -> Vector2< T1, T2 > &
Add.
Template parameters | |
---|---|
U1 | |
U2 | |
Parameters | |
other in | |
Returns | Vector2& |
template<typename T1, typename T2>
template<typename U1, typename U2>
CONSTEXPR14 auto numeric:: Vector2<T1, T2>:: operator-=(const Vector2<U1, U2>& other) -> Vector2< T1, T2 > &
Substract.
Template parameters | |
---|---|
U1 | |
U2 | |
Parameters | |
other in | |
Returns | Vector2& |
template<typename T1, typename T2>
template<typename R>
CONSTEXPR14 auto numeric:: Vector2<T1, T2>:: operator*=(const R& alpha) -> Vector2< T1, T2 > &
Multiply.
Template parameters | |
---|---|
R | |
Parameters | |
alpha in | |
Returns | Vector2& |
template<typename T1, typename T2>
template<typename R>
CONSTEXPR14 auto numeric:: Vector2<T1, T2>:: operator/=(const R& alpha) -> Vector2< T1, T2 > &
Divide.
Template parameters | |
---|---|
R | |
Parameters | |
alpha in | |
Returns | Vector2& |
template<typename T1, typename T2>
template<class Stream>
auto operator<<(Stream& out,
const Vector2<T1, T2>& v) -> Stream &
Template parameters | |
---|---|
Stream | |
Parameters | |
out out | |
v in | |
Returns | Stream& |