File indexing completed on 2026-08-17 08:50:41
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef BOOST_MSM_BACKMP11_COMMON_TYPES_H
0013 #define BOOST_MSM_BACKMP11_COMMON_TYPES_H
0014
0015 #include <any>
0016 #include <boost/msm/back/common_types.hpp>
0017
0018 namespace boost { namespace msm { namespace backmp11
0019 {
0020
0021 using process_result = back::HandledEnum;
0022
0023 using any_event = std::any;
0024
0025
0026
0027
0028 enum class visit_mode
0029 {
0030
0031 active_states = 0b001,
0032 all_states = 0b010,
0033
0034
0035 recursive = 0b100,
0036
0037
0038 active_non_recursive = active_states,
0039 active_recursive = active_states | recursive,
0040 all_non_recursive = all_states,
0041 all_recursive = all_states | recursive
0042 };
0043 constexpr visit_mode operator|(visit_mode lhs, visit_mode rhs)
0044 {
0045 return static_cast<visit_mode>(
0046 static_cast<std::underlying_type_t<visit_mode>>(lhs) |
0047 static_cast<std::underlying_type_t<visit_mode>>(rhs)
0048 );
0049 }
0050
0051 namespace detail
0052 {
0053
0054 using EventSource = back::EventSourceEnum;
0055 using back::HandledEnum;
0056
0057 constexpr EventSource operator|(EventSource lhs, EventSource rhs)
0058 {
0059 return static_cast<EventSource>(
0060 static_cast<std::underlying_type_t<EventSource>>(lhs) |
0061 static_cast<std::underlying_type_t<EventSource>>(rhs)
0062 );
0063 }
0064
0065 }
0066
0067 }}}
0068
0069 #endif