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

Go to the source code of this file.

Classes

struct  linalg::scalar_traits< T >
 Register a standard floating-point type as a real scalar. More...
 
struct  linalg::scalar_traits< std::complex< T > >
 Register std::complex<T> over a floating-point real component. More...
 

Namespaces

namespace  linalg
 

Typedefs

template<typename T >
using linalg::remove_cvref_t = std::remove_cvref_t< T >
 Remove top-level const, volatile, and reference qualification.
 
template<typename T >
using linalg::scalar_traits_t = scalar_traits< remove_cvref_t< T > >
 Scalar traits selected after cv/ref normalization.
 
template<typename T >
using linalg::scalar_type_t = typename scalar_traits_t< T >::scalar_type
 Normalized scalar representation registered for T.
 
template<typename T >
using linalg::real_type_t = typename scalar_traits_t< T >::real_type
 Associated real component type registered for T.
 

Variables

template<typename T >
constexpr bool linalg::is_real_v = scalar_traits_t<T>::is_real
 Whether normalized T is registered as a real scalar.
 
template<typename T >
constexpr bool linalg::is_complex_v = scalar_traits_t<T>::is_complex
 Whether normalized T is registered as a complex scalar.