17 #ifndef OPENKALMAN_COPYABLE_FROM_HPP 18 #define OPENKALMAN_COPYABLE_FROM_HPP 27 #ifndef __cpp_concepts 30 template<
typename To,
typename From,
typename =
void>
33 template<
typename To,
typename From>
35 stdex::assignable_from<typename std::decay_t<decltype(get_mdspan(std::declval<To>()))>::reference, typename element_type_of<From>::type>>>
46 template<
typename Dest,
typename Source>
47 #ifdef __cpp_lib_concepts 49 patterns_may_match_with<Dest, Source> and
50 std::assignable_from<typename std::decay_t<decltype(get_mdspan(std::declval<Dest>()))>::reference,
element_type_of_t<Source>>;
52 constexpr
bool copyable_from =
53 patterns_may_match_with<Dest, Source> and
Definition for patterns_may_match_with.
Definition for element_type_of.
The root namespace for OpenKalman.
Definition: basics.hpp:34
Definition of get_mdspan function.
Basic definitions for OpenKalman as a whole.
constexpr bool copyable_from
Specifies that an indexible object is copyable from another indexible object.
Definition: copyable_from.hpp:52
typename element_type_of< T >::type element_type_of_t
helper template for element_type_of.
Definition: element_type_of.hpp:54
Definition: copyable_from.hpp:31