| 2909 | |
| 2910 | template<typename T, typename U> |
| 2911 | constexpr auto is_struct_compatible() |
| 2912 | { |
| 2913 | if constexpr ( |
| 2914 | !std::is_aggregate_v<T> || |
| 2915 | struct_arity_v<T> != tuple_size_<U>) { |
| 2916 | return std::false_type{}; |
| 2917 | } else { |
| 2918 | using result_t = decltype(detail::hl::fold_left( |
| 2919 | detail::hl::zip( |
| 2920 | detail::tie_aggregate(std::declval<T &>()), |
| 2921 | std::declval<U &>()), |
| 2922 | std::true_type{}, |
| 2923 | element_compatibility{})); |
| 2924 | return result_t{}; |
| 2925 | } |
| 2926 | } |
| 2927 | |
| 2928 | template<typename Struct, typename Tuple> |
| 2929 | constexpr bool is_struct_compatible_v = |
nothing calls this directly
no test coverage detected