1 #ifndef FWCore_Framework_globalTransitionAsync_h
2 #define FWCore_Framework_globalTransitionAsync_h
50 template <
typename Traits>
54 bool cleaningUpAfterException) {
61 bool cleaningUpAfterException) {
68 bool cleaningUpAfterException) {
75 bool cleaningUpAfterException) {
79 template <
typename Traits>
82 typename Traits::TransitionInfoType& transitionInfo,
84 std::vector<SubProcess>& iSubProcesses,
85 bool cleaningUpAfterException =
false) {
88 auto subs =
make_waiting_task([&iSubProcesses, iWait,
info = transitionInfo, cleaningUpAfterException](
89 std::exception_ptr
const* iPtr)
mutable {
95 for (
auto& subProcess : iSubProcesses) {
96 subProcessDoGlobalBeginTransitionAsync<Traits>(
h, subProcess,
info, cleaningUpAfterException);
99 for (
auto& subProcess : iSubProcesses) {
100 subProcessDoGlobalBeginTransitionAsync<Traits>(iWait, subProcess,
info, cleaningUpAfterException);
109 template <
typename Traits>
112 typename Traits::TransitionInfoType& transitionInfo,
114 std::vector<SubProcess>& iSubProcesses,
115 bool cleaningUpAfterException) {
118 auto subs =
make_waiting_task([&iSubProcesses, iWait,
info = transitionInfo, cleaningUpAfterException](
119 std::exception_ptr
const* iPtr)
mutable {
125 for (
auto& subProcess : iSubProcesses) {
129 for (
auto& subProcess : iSubProcesses) {