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

Function make_combining

include/boost/parser/parser.hpp:3912–3924  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3910 // and N>0, which is merge with other members of group N.
3911 template<typename CombiningGroups, typename... Args>
3912 constexpr auto make_combining(tuple<Args...> parsers)
3913 {
3914 if constexpr (std::is_same_v<CombiningGroups, merge_t>) {
3915 detail::static_assert_merge_attributes(parsers);
3916 return detail::make_default_combining_impl<1>(
3917 std::make_integer_sequence<int, sizeof...(Args)>());
3918 } else if constexpr (std::is_same_v<CombiningGroups, separate_t>) {
3919 return detail::make_default_combining_impl<-1>(
3920 std::make_integer_sequence<int, sizeof...(Args)>());
3921 } else {
3922 return CombiningGroups{};
3923 }
3924 }
3925 template<typename ParserTuple, typename CombiningGroups>
3926 using combining_t = decltype(detail::make_combining<CombiningGroups>(
3927 std::declval<ParserTuple>()));

Callers

nothing calls this directly

Calls 1

Tested by

no test coverage detected