15 #ifndef OPENSCENARIO_INTERPRETER__SYNTAX__TRIGGER_HPP_
16 #define OPENSCENARIO_INTERPRETER__SYNTAX__TRIGGER_HPP_
18 #include <boost/json.hpp>
21 #include <pugixml.hpp>
25 inline namespace syntax
36 struct Trigger :
public std::list<ConditionGroup>
45 explicit Trigger(
const std::list<ConditionGroup> & condition_groups)
60 auto operator<<(boost::json::
object &, const
Trigger &) -> boost::json::
object &;
62 static_assert(
std::is_default_constructible<
Trigger>::value);
64 static_assert(
std::is_nothrow_default_constructible<
Trigger>::value);
Definition: scope.hpp:154
Definition: condition_group.hpp:41
Definition: trigger.hpp:37
auto activeConditionGroupDescription() const -> std::vector< std::pair< std::string, std::string >>
Definition: trigger.cpp:58
Trigger(const std::list< ConditionGroup > &condition_groups)
Definition: trigger.hpp:45
bool current_value
Definition: trigger.hpp:38
static auto truthy() noexcept -> Trigger
Definition: trigger.cpp:27
auto evaluate() -> Object
Definition: trigger.cpp:29
auto activeConditionGroupIndex() const -> iterator::difference_type
Definition: trigger.cpp:49