16 #ifndef OPENKALMAN_HERMITIAN_ADAPTER_HPP 17 #define OPENKALMAN_HERMITIAN_ADAPTER_HPP 23 #ifndef __cpp_concepts 26 template<
typename T, HermitianAdapterType t,
typename =
void>
29 template<
typename T, HermitianAdapterType t>
31 (t == HermitianAdapterType::any ?
32 interface::object_traits<stdex::remove_cvref_t<T>>::hermitian_adapter_type == HermitianAdapterType::lower or
33 interface::object_traits<stdex::remove_cvref_t<T>>::hermitian_adapter_type == HermitianAdapterType::upper :
34 interface::object_traits<stdex::remove_cvref_t<T>>::hermitian_adapter_type == t)>> : std::true_type {};
47 template<
typename T, HermitianAdapterType t = HermitianAdapterType::any>
constexpr bool hermitian_adapter
Specifies that a type is a hermitian matrix adapter of a particular type.
Definition: hermitian_adapter.hpp:55
A lower-left triangular matrix.
Definition: hermitian_adapter.hpp:27
constexpr bool value
T is a fixed or dynamic value that is reducible to a number.
Definition: value.hpp:45
Enumerations relating to linear algebra.
Lower, upper, or diagonal matrix.
The root namespace for OpenKalman.
Definition: basics.hpp:34
Definition: object_traits.hpp:38
An upper-right triangular matrix.