akreon-linalg
Fixed-size linear algebra and numerical methods in C++26.
Loading...
Searching...
No Matches
vector_traits.hpp File Reference
#include <cstddef>
#include <utility>
#include "akreon/linalg/scalar/scalar_traits.hpp"
Include dependency graph for vector_traits.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  linalg::vector_traits< Vector< T, Dim > >
 Traits and constexpr construction helpers for Vector<T, Dim>. More...
 
struct  linalg::vector_scalar< T >
 Recursively obtain the non-vector scalar underlying a type. More...
 
struct  linalg::vector_scalar< Vector< T, Dim > >
 Recursively unwrap one Vector layer. More...
 

Namespaces

namespace  linalg
 

Typedefs

template<class Vec >
using linalg::vector_traits_t = vector_traits< remove_cvref_t< Vec > >
 Vector traits selected after cv/ref normalization.
 
template<class Vec >
using linalg::vector_element_t = typename vector_traits_t< Vec >::element_type
 Registered vector coordinate type.
 
template<class Vec >
using linalg::vector_scalar_t = typename vector_scalar< remove_cvref_t< Vec > >::type
 Fully unwrapped scalar type underlying a possibly nested vector.
 

Variables

template<class Vec >
constexpr std::size_t linalg::vector_dim_v = vector_traits_t<Vec>::dim
 Registered compile-time vector dimension.