Waits until all work on the structured_task_group has completed or is canceled.
An indication of whether the wait was satisfied or the task group was canceled, due to either an explicit cancel operation or an exception being thrown from one of its tasks. For more information, see task_group_status
Note that one or more of the tasks scheduled to this structured_task_group object may execute inline on the calling context.
If one or more of the tasks scheduled to this structured_task_group object throws an exception, the runtime will select one such exception of its choosing and propagate it out of the call to the wait method.
After this function returns, the structured_task_group object is considered in a final state and should not be used. Note that utilization after the wait method returns will result in undefined behavior.
In the non-exceptional path of execution, you have a mandate to call either this method or the run_and_wait method before the destructor of the structured_task_group executes.