|
template<typename T , size_t N>
requires (N != std::dynamic_extent) |
| constexpr size_t | osc::detail::compile_time_size (std::span< T, N >) |
| |
template<typename T , size_t N>
requires (requires (const Vector<T, N>& v) { +v[0]; }) |
| constexpr auto | osc::operator+ (const Vector< T, N > &vec) |
| |
template<typename T , size_t N>
requires (requires (const Vector<T, N>& v) { -v[0]; }) |
| constexpr auto | osc::operator- (const Vector< T, N > &vec) |
| |
template<typename T , size_t N>
requires (requires (const Vector<T, N>& v) { !v[0]; }) |
| constexpr auto | osc::operator! (const Vector< T, N > &vec) |
| |
template<typename T , size_t N, typename U >
requires ( requires (const Vector<T, N>& v, const U& rhs) { v[0] + rhs; } ) |
| constexpr auto | osc::operator+ (const Vector< T, N > &lhs, const U &rhs) |
| |
template<typename T , typename U , size_t N>
requires ( requires (const T& lhs, const Vector<U, N>& rhs) { lhs + rhs[0]; } ) |
| constexpr auto | osc::operator+ (const T &lhs, const Vector< U, N > &rhs) |
| |
template<typename T , typename U , size_t N>
requires (requires (const Vector<T, N>& lhs, const Vector<U, N>& rhs) { lhs[0] + rhs[0]; }) |
| constexpr auto | osc::operator+ (const Vector< T, N > &lhs, const Vector< U, N > &rhs) |
| |
template<typename T , size_t N, typename U >
requires (requires (const Vector<T, N>& v, const U& rhs) { v[0] - rhs; }) |
| constexpr auto | osc::operator- (const Vector< T, N > &lhs, const U &rhs) |
| |
template<typename T , typename U , size_t N>
requires (requires (const T& lhs, const Vector<U, N>& rhs) { lhs - rhs[0]; }) |
| constexpr auto | osc::operator- (const T &lhs, const Vector< U, N > &rhs) |
| |
template<typename T , typename U , size_t N>
requires (requires (const Vector<T, N>& lhs, const Vector<U, N>& rhs) { lhs[0] - rhs[0]; }) |
| constexpr auto | osc::operator- (const Vector< T, N > &lhs, const Vector< U, N > &rhs) |
| |
template<typename T , size_t N, typename U >
requires (requires (const Vector<T, N>& v, const U& rhs) { v[0] * rhs; }) |
| constexpr auto | osc::operator* (const Vector< T, N > &lhs, const U &rhs) |
| |
template<typename T , typename U , size_t N>
requires (requires (const T& lhs, const Vector<U, N>& rhs) { U(lhs * rhs[0]); }) |
| constexpr auto | osc::operator* (const T &lhs, const Vector< U, N > &rhs) |
| |
template<typename T , typename U , size_t N>
requires (requires (const Vector<T, N>& lhs, const Vector<U, N>& rhs) { lhs[0] * rhs[0]; }) |
| constexpr auto | osc::operator* (const Vector< T, N > &lhs, const Vector< U, N > &rhs) |
| |
template<typename T , size_t N, typename U >
requires (requires (const Vector<T, N>& v, const U& rhs) { v[0] / rhs; }) |
| constexpr auto | osc::operator/ (const Vector< T, N > &lhs, const U &rhs) |
| |
template<typename T , typename U , size_t N>
requires (requires (const T& lhs, const Vector<U, N>& rhs) { lhs / rhs[0]; }) |
| constexpr auto | osc::operator/ (const T &lhs, const Vector< U, N > &rhs) |
| |
template<typename T , typename U , size_t N>
requires (requires (const Vector<T, N>& lhs, const Vector<U, N>& rhs) { lhs[0] / rhs[0]; }) |
| constexpr auto | osc::operator/ (const Vector< T, N > &lhs, const Vector< U, N > &rhs) |
| |
| template<detail::OutputStreamable T, size_t N> |
| std::ostream & | osc::operator<< (std::ostream &out, const Vector< T, N > &v) |
| |
| template<size_t I, typename T , size_t N> |
| constexpr const T & | osc::get (const Vector< T, N > &v) |
| |
| template<size_t I, typename T , size_t N> |
| constexpr T & | osc::get (Vector< T, N > &v) |
| |
| template<size_t I, typename T , size_t N> |
| constexpr T && | osc::get (Vector< T, N > &&v) |
| |
| template<size_t I, typename T , size_t N> |
| constexpr const T && | osc::get (const Vector< T, N > &&v) |
| |