MCPcopy Create free account
hub / github.com/boostorg/parser / is_struct_compatible

Function is_struct_compatible

include/boost/parser/parser.hpp:2911–2926  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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 =

Callers

nothing calls this directly

Calls 3

fold_leftFunction · 0.85
zipFunction · 0.85
tie_aggregateFunction · 0.85

Tested by

no test coverage detected