SpECTRE Documentation Coverage Report
Current view: top level - Parallel - AlgorithmExecution.hpp Hit Total Coverage
Commit: 9a905b0737f373631c1b8e8389b8f26e67fa5313 Lines: 3 4 75.0 %
Date: 2024-03-28 09:03:18
Legend: Lines: hit not hit

          Line data    Source code
       1           0 : // Distributed under the MIT License.
       2             : // See LICENSE.txt for details.
       3             : 
       4             : #pragma once
       5             : 
       6             : #include <iosfwd>
       7             : #include <optional>
       8             : #include <tuple>
       9             : 
      10           1 : namespace Parallel {
      11             : 
      12             : /// The possible options for altering the current execution of the algorithm,
      13             : /// used in the return type of iterable actions.
      14           1 : enum class AlgorithmExecution {
      15             :   /// Continue executing iterable actions.
      16             :   Continue,
      17             :   /// Temporarily stop executing iterable actions, but try the same
      18             :   /// action again after receiving data from other distributed
      19             :   /// objects.
      20             :   Retry,
      21             :   /// Stop the execution of iterable actions, but allow entry methods
      22             :   /// (communication) to explicitly request restarting the execution.
      23             :   Pause,
      24             :   /// Stop the execution of iterable actions and do not allow their execution
      25             :   /// until after a phase change. Simple actions will still execute.
      26             :   Halt
      27             : };
      28             : 
      29             : /// Return type for iterable actions.  The std::optional can be used to specify
      30             : /// the index of the action to be called next in the phase dependent action
      31             : /// list.  Passing std::nullopt will execute the next action in the list.
      32           1 : using iterable_action_return_t =
      33             :     std::tuple<AlgorithmExecution, std::optional<size_t>>;
      34             : }  // namespace Parallel

Generated by: LCOV version 1.14