Line data Source code
1 1 : // Distributed under the MIT License.
2 : // See LICENSE.txt for details.
3 :
4 : /// \file
5 : /// Defines enum class Triggers::WhenToCheck.
6 :
7 : #pragma once
8 :
9 : #include <cstdint>
10 : #include <iosfwd>
11 :
12 : namespace Triggers {
13 :
14 : /// \ingroup EventsAndTriggersGroup
15 : /// \brief Frequency at which Events and Triggers are checked
16 1 : enum class WhenToCheck : uint8_t {
17 : AtIterations, /**< checked at iterations e.g. of an elliptic solve */
18 : AtSlabs, /**< checked at time Slab boundaries */
19 : AtSteps, /**< checked at time step boundaries */
20 : AtCheckpoints, /**< checked at checkpoints */
21 : };
22 :
23 : /// Output operator for a WhenToCheck.
24 1 : std::ostream& operator<<(std::ostream& os, const WhenToCheck& when_to_check);
25 : } // namespace Triggers
|