@@ -446,7 +446,12 @@ struct CollapseT {
446446 N v;
447447};
448448
449- // V5.2: [15.8.3] `extended-atomic` clauses
449+ // [6.0:266]
450+ template <typename T, typename I, typename E> //
451+ struct CollectorT {
452+ using IncompleteTrait = std::true_type;
453+ };
454+
450455template <typename T, typename I, typename E> //
451456struct CompareT {
452457 using EmptyTrait = std::true_type;
@@ -736,6 +741,12 @@ struct IndirectT {
736741 OPT (InvokedByFptr) v;
737742};
738743
744+ // [6.0:265-266]
745+ template <typename T, typename I, typename E> //
746+ struct InductorT {
747+ using IncompleteTrait = std::true_type;
748+ };
749+
739750// V5.2: [14.1.2] `init` clause
740751template <typename T, typename I, typename E> //
741752struct InitT {
@@ -1324,8 +1335,9 @@ using EmptyClausesT = std::variant<
13241335
13251336template <typename T, typename I, typename E>
13261337using IncompleteClausesT =
1327- std::variant<AdjustArgsT<T, I, E>, AppendArgsT<T, I, E>, GraphIdT<T, I, E>,
1328- GraphResetT<T, I, E>, MatchT<T, I, E>, OtherwiseT<T, I, E>,
1338+ std::variant<AdjustArgsT<T, I, E>, AppendArgsT<T, I, E>,
1339+ CollectorT<T, I, E>, GraphIdT<T, I, E>, GraphResetT<T, I, E>,
1340+ InductorT<T, I, E>, MatchT<T, I, E>, OtherwiseT<T, I, E>,
13291341 ReplayableT<T, I, E>, TransparentT<T, I, E>, WhenT<T, I, E>>;
13301342
13311343template <typename T, typename I, typename E>
0 commit comments