TRIQS/nda 1.3.0
Multi-dimensional array library for C++
|
General type traits used throughout the nda library.
Classes | |
struct | nda::is_instantiation_of< TMPLT, T > |
Check if type T is of type TMPLT<...> . More... | |
Variables | |
template<typename... Ts> | |
static constexpr bool | nda::always_false = false |
Constexpr variable that is always false regardless of the types in Ts (used to trigger static_assert ). | |
template<typename... Ts> | |
static constexpr bool | nda::always_true = true |
Constexpr variable that is always true regardless of the types in Ts . | |
template<int R, typename F > | |
constexpr char | nda::get_algebra< array_adapter< R, F > > = 'A' |
Specialization of nda::get_algebra for nda::array_adapter. | |
template<typename T , typename... Ts> | |
static constexpr bool | nda::is_any_of = (std::is_same_v<Ts, T> or ... or false) |
Constexpr variable that is true if type T is contained in the parameter pack Ts . | |
template<typename T > | |
constexpr bool | nda::is_blas_lapack_v = is_double_or_complex_v<T> |
Alias for nda::is_double_or_complex_v. | |
template<typename T > | |
constexpr bool | nda::is_complex_v = is_instantiation_of_v<std::complex, T> |
Constexpr variable that is true if type T is a std::complex type. | |
template<typename T > | |
constexpr bool | nda::is_double_or_complex_v = is_complex_v<T> or std::is_same_v<double, std::remove_cvref_t<T>> |
Constexpr variable that is true if type T is a std::complex type or a double type. | |
template<template< typename... > class TMPLT, typename T > | |
constexpr bool | nda::is_instantiation_of_v = is_instantiation_of<TMPLT, std::remove_cvref_t<T>>::value |
Constexpr variable that is true if type T is an instantiation of TMPLT (see nda::is_instantiation_of). | |
template<typename S , typename A > | |
constexpr bool | nda::is_scalar_for_v |
Constexpr variable used to check requirements when initializing an nda::basic_array or nda::basic_array_view of type A with some object/value of type S . | |
template<typename S > | |
constexpr bool | nda::is_scalar_or_convertible_v = is_scalar_v<S> or std::is_constructible_v<std::complex<double>, S> |
Constexpr variable that is true if type S is a scalar type (see nda::is_scalar_v) or if a std::complex<double> can be constructed from it. | |
template<typename S > | |
constexpr bool | nda::is_scalar_v = std::is_arithmetic_v<std::remove_cvref_t<S>> or is_complex_v<S> |
Constexpr variable that is true if type S is a scalar type, i.e. arithmetic or complex. | |