enums.hh File Reference

Overview

Enumerations, scalar traits and scalar concepts shared by every public header.

Every enum here has a constexpr std::string_view to_string(E) next to its definition that returns the enumerator's own spelling, and one templated operator<< at the end of the namespace prints all of them.

Definition in file enums.hh.

#include <batchlas/export.hh>
#include <complex>
#include <concepts>
#include <cstdint>
#include <iosfwd>
#include <string_view>
#include <type_traits>

Go to the source code of this file.

Classes

struct  batchlas::base_type< T >
 Real type underlying a scalar: T itself for a real T, R for std::complex<R>. More...
struct  batchlas::base_type< std::complex< T > >
 Specialisation that strips std::complex. More...
struct  batchlas::is_std_complex< T >
 True for std::complex<R>, false otherwise. More...
struct  batchlas::is_std_complex< std::complex< T > >
 Specialisation for std::complex<R>. More...

Namespaces

namespace  batchlas

Concepts

concept  batchlas::RealScalar
 A real floating-point scalar (float, double).
concept  batchlas::ComplexScalar
 A std::complex scalar (std::complex<float>, std::complex<double>).
concept  batchlas::FloatingOrComplexScalar
 Any scalar the numerical entry points accept: real or complex floating point.
concept  batchlas::DenseMatrixFormat
 Constrains a member or overload to dense storage.
concept  batchlas::CsrMatrixFormat
 Constrains a member or overload to CSR storage.