|
template<typename T , std::size_t N> |
PLAYRHO_CONSTEXPR bool | playrho::operator== (const Vector< T, N > &lhs, const Vector< T, N > &rhs) noexcept |
| Equality operator. More...
|
|
template<typename T , std::size_t N> |
PLAYRHO_CONSTEXPR bool | playrho::operator!= (const Vector< T, N > &lhs, const Vector< T, N > &rhs) noexcept |
| Inequality operator. More...
|
|
template<typename T , std::size_t N> |
PLAYRHO_CONSTEXPR std::enable_if_t< std::is_same< T, decltype(+T{})>::value, Vector< T, N > > | playrho::operator+ (Vector< T, N > v) noexcept |
| Unary plus operator. More...
|
|
template<typename T , std::size_t N> |
PLAYRHO_CONSTEXPR std::enable_if_t< std::is_same< T, decltype(-T{})>::value, Vector< T, N > > | playrho::operator- (Vector< T, N > v) noexcept |
| Unary negation operator. More...
|
|
template<typename T , std::size_t N> |
PLAYRHO_CONSTEXPR std::enable_if_t< std::is_same< T, decltype(T{}+T{})>::value, Vector< T, N > & > | playrho::operator+= (Vector< T, N > &lhs, const Vector< T, N > rhs) noexcept |
| Increments the left hand side value by the right hand side value. More...
|
|
template<typename T , std::size_t N> |
PLAYRHO_CONSTEXPR std::enable_if_t< std::is_same< T, decltype(T{} - T{})>::value, Vector< T, N > & > | playrho::operator-= (Vector< T, N > &lhs, const Vector< T, N > rhs) noexcept |
| Decrements the left hand side value by the right hand side value. More...
|
|
template<typename T , std::size_t N> |
PLAYRHO_CONSTEXPR std::enable_if_t< std::is_same< T, decltype(T{}+T{})>::value, Vector< T, N > > | playrho::operator+ (Vector< T, N > lhs, const Vector< T, N > rhs) noexcept |
| Adds two vectors component-wise. More...
|
|
template<typename T , std::size_t N> |
PLAYRHO_CONSTEXPR std::enable_if_t< std::is_same< T, decltype(T{} - T{})>::value, Vector< T, N > > | playrho::operator- (Vector< T, N > lhs, const Vector< T, N > rhs) noexcept |
| Subtracts two vectors component-wise. More...
|
|
template<typename T1 , typename T2 , std::size_t N> |
PLAYRHO_CONSTEXPR std::enable_if_t< std::is_same< T1, decltype(T1{} *T2{})>::value, Vector< T1, N > & > | playrho::operator*= (Vector< T1, N > &lhs, const T2 rhs) noexcept |
| Multiplication assignment operator. More...
|
|
template<typename T1 , typename T2 , std::size_t N> |
PLAYRHO_CONSTEXPR std::enable_if_t< std::is_same< T1, decltype(T1{}/T2{})>::value, Vector< T1, N > & > | playrho::operator/= (Vector< T1, N > &lhs, const T2 rhs) noexcept |
| Division assignment operator. More...
|
|
template<typename T1 , typename T2 , std::size_t A, std::size_t B, std::size_t C, typename OT = decltype(T1{} * T2{})> |
PLAYRHO_CONSTEXPR std::enable_if_t< IsMultipliable< T1, T2 >::value, Vector< Vector< OT, C >, A > > | playrho::operator* (const Vector< Vector< T1, B >, A > &lhs, const Vector< Vector< T2, C >, B > &rhs) noexcept |
| Calculates the matrix product of the two given vector of vectors (matrices). More...
|
|
template<typename T1 , typename T2 , std::size_t A, std::size_t B, typename OT = decltype(T1{} * T2{})> |
PLAYRHO_CONSTEXPR std::enable_if_t< IsMultipliable< T1, T2 >::value &&!IsVector< T1 >::value, Vector< OT, B > > | playrho::operator* (const Vector< T1, A > &lhs, const Vector< Vector< T2, B >, A > &rhs) noexcept |
| Multiplies an A-element vector by a A-by-B vector of vectors. More...
|
|
template<typename T1 , typename T2 , std::size_t A, std::size_t B, typename OT = decltype(T1{} * T2{})> |
PLAYRHO_CONSTEXPR std::enable_if_t< IsMultipliable< T1, T2 >::value &&!IsVector< T2 >::value, Vector< OT, B > > | playrho::operator* (const Vector< Vector< T1, A >, B > &lhs, const Vector< T2, A > &rhs) noexcept |
| Multiplies a B-by-A vector of vectors by an A-element vector. More...
|
|
template<std::size_t N, typename T1 , typename T2 , typename OT = decltype(T1{} * T2{})> |
PLAYRHO_CONSTEXPR std::enable_if_t< IsMultipliable< T1, T2 >::value &&!IsVector< T1 >::value, Vector< OT, N > > | playrho::operator* (const T1 s, Vector< T2, N > a) noexcept |
| Multiplication operator for non-vector times vector. More...
|
|
template<std::size_t N, typename T1 , typename T2 , typename OT = decltype(T1{} * T2{})> |
PLAYRHO_CONSTEXPR std::enable_if_t< IsMultipliable< T1, T2 >::value &&!IsVector< T2 >::value, Vector< OT, N > > | playrho::operator* (Vector< T1, N > a, const T2 s) noexcept |
| Multiplication operator for vector times non-vector. More...
|
|
template<std::size_t N, typename T1 , typename T2 , typename OT = decltype(T1{} / T2{})> |
PLAYRHO_CONSTEXPR std::enable_if_t< IsDivisable< T1, T2 >::value &&!IsVector< T2 >::value, Vector< OT, N > > | playrho::operator/ (Vector< T1, N > a, const T2 s) noexcept |
| Division operator. More...
|
|
template<std::size_t I, std::size_t N, typename T > |
PLAYRHO_CONSTEXPR auto & | playrho::get (Vector< T, N > &v) noexcept |
| Gets the specified element of the given collection. More...
|
|
template<std::size_t I, std::size_t N, typename T > |
PLAYRHO_CONSTEXPR auto | playrho::get (const Vector< T, N > &v) noexcept |
| Gets the specified element of the given collection. More...
|
|
template<typename T , std::size_t N> |
::std::ostream & | playrho::operator<< (::std::ostream &os, const Vector< T, N > &value) |
| Output stream operator. More...
|
|