From 9e5ca8eaf17d2e3b9be2baccf76216ae28aeadb2 Mon Sep 17 00:00:00 2001 From: Hugo Pezziardi Date: Thu, 2 Jun 2022 16:25:33 +0200 Subject: [PATCH] :arrow_up: (extern): Update boost::sml to v1.1.5 --- include/boost/sml.hpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/include/boost/sml.hpp b/include/boost/sml.hpp index e0e12d0844..254b6c839e 100644 --- a/include/boost/sml.hpp +++ b/include/boost/sml.hpp @@ -9,12 +9,12 @@ #if (__cplusplus < 201305L && _MSC_VER < 1900) #error "[Boost::ext].SML requires C++14 support (Clang-3.4+, GCC-5.1+, MSVC-2015+)" #else -#define BOOST_SML_VERSION 1'1'4 +#define BOOST_SML_VERSION 1'1'5 #define BOOST_SML_NAMESPACE_BEGIN \ namespace boost { \ inline namespace ext { \ namespace sml { \ - inline namespace v1_1_4 { + inline namespace v1_1_5 { #define BOOST_SML_NAMESPACE_END \ } \ } \ @@ -1706,7 +1706,7 @@ class sm { aux::get>(sub_sms_).start(deps_, sub_sms_); } template 1) && aux::is_unique_t::value)> - explicit sm(TDeps &&... deps) : deps_{aux::init{}, aux::pool{deps...}}, sub_sms_{aux::pool{deps...}} { + explicit sm(TDeps &&...deps) : deps_{aux::init{}, aux::pool{deps...}}, sub_sms_{aux::pool{deps...}} { aux::get>(sub_sms_).start(deps_, sub_sms_); } sm(aux::init, deps_t &deps) : deps_{deps}, sub_sms_{deps} { aux::get>(sub_sms_).start(deps_, sub_sms_); } @@ -2289,6 +2289,12 @@ struct transition, G, A> : transition, state, fron auto operator=(const T &) const { return transition, front::event, G, A>{g, a}; } + const auto &operator()() const { return *this; } + template + auto operator()(const TEvent &event, TSM &sm, TDeps &deps, TSubs &subs) -> void { + typename TSM::state_t s{}; + this->execute(event, sm, deps, subs, s); + } }; template struct transition, state> : transition, state, front::event, always, none> { @@ -2714,6 +2720,7 @@ __BOOST_SML_UNUSED static front::state X; __BOOST_SML_UNUSED static front::history_state H; __BOOST_SML_UNUSED static front::actions::defer defer; __BOOST_SML_UNUSED static front::actions::process process; +__BOOST_SML_UNUSED static front::state eval; template ::value...>, aux::bool_list::value...>>::value)> auto make_transition_table(Ts... ts) {