16 #ifndef OPENKALMAN_OBJECT_TRAITS_HPP 17 #define OPENKALMAN_OBJECT_TRAITS_HPP 19 #ifdef DOXYGEN_SHOULD_SKIP_THIS 20 #include "patterns/patterns.hpp" 36 template<
typename T,
typename =
void>
47 #ifdef DOXYGEN_SHOULD_SKIP_THIS 53 get_mdspan = [](std::convertible_to<const T&>
auto&& t) -> decltype(
auto) {
return std::mdspan{t}; };
84 get_constant = [](std::convertible_to<const T&>
auto&&) ->
values::value auto {
return ...; };
93 template<applicability b>
102 static constexpr
bool 103 is_triangular_adapter =
false;
113 static constexpr
bool 114 is_hermitian =
false;
127 #endif // DOXYGEN_SHOULD_SKIP_THIS constexpr bool pattern_collection
An object describing a sized collection of /ref sized_pattern objects.
Definition: pattern_collection.hpp:66
Definition: basics.hpp:41
triangle_type
The type of a triangular matrix.
Definition: enumerations.hpp:26
decltype(auto) constexpr get_pattern_collection(T &&t)
Get the patterns::pattern_collection associated with indexible object T.
Definition: get_pattern_collection.hpp:36
HermitianAdapterType
The type of a hermitian adapter, indicating which triangle of the nested matrix is used...
Definition: enumerations.hpp:79
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.
static const bool is_specialized
Identifies types for which object_traits is specialized.
Definition: object_traits.hpp:44
Definition: object_traits.hpp:38
decltype(auto) constexpr get_mdspan(T &&t)
Get the mdspan associated with indexible object T.
Definition: get_mdspan.hpp:35