From 23e9a24e434cac9922039cbb43ca54ab70bef72c Mon Sep 17 00:00:00 2001 From: Kris Jusiak Date: Wed, 7 Sep 2022 10:49:36 +0000 Subject: [PATCH] :arrow_up: [release] v1.1.6 --- README.md | 1 + doc/CHANGELOG.md | 16 +++++++++++++++- include/boost/sml.hpp | 16 +++++++++++----- 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 5ac062f7..1fa9c0d2 100644 --- a/README.md +++ b/README.md @@ -315,6 +315,7 @@ send: 42 * [Plant UML Integration](https://boost-ext.github.io/sml/examples.html#plant-uml-integration) * [FAQ](https://boost-ext.github.io/sml/faq.html) * [CHANGELOG](https://boost-ext.github.io/sml/CHANGELOG.html) + * [[1.1.6] - 2022-09-07](https://boost-ext.github.io/sml/CHANGELOG.html#116-2022-09-07) * [[1.1.5] - 2022-03-23](https://boost-ext.github.io/sml/CHANGELOG.html#115-2022-03-23) * [[1.1.4] - 2021-02-16](https://boost-ext.github.io/sml/CHANGELOG.html#114-2021-02-16) * [[1.1.3] - 2020-08-02](https://boost-ext.github.io/sml/CHANGELOG.html#113-2020-08-02) diff --git a/doc/CHANGELOG.md b/doc/CHANGELOG.md index eaefbb5b..e222d797 100644 --- a/doc/CHANGELOG.md +++ b/doc/CHANGELOG.md @@ -1,10 +1,21 @@ +## [1.1.6] - 2022-09-07 +- **Bug Fixes** + - [Issues](https://github.com/boost-ext/sml/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aclosed+closed%3A2022-03-23..2020-09-07+) +> +- **Contributions** + - [Ladislas de Toldi](https://github.com/ladislas) + ## [1.1.5] - 2022-03-23 -- **Additions** +- **Bug Fixes** + - [Issues](https://github.com/boost-ext/sml/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aclosed+closed%3A2021-02-16..2022-03-23+) ## [1.1.4] - 2021-02-16 - **Additions** - LICENSE file +- **Bug Fixes** + - [Issues](https://github.com/boost-ext/sml/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aclosed+closed%3A2020-08-02..2021-02-16+) + ## [1.1.3] - 2020-08-02 - **Additions** - Support for member-function like guards/actions @@ -86,6 +97,9 @@ ##[1.0.0] - 2016-01-28 - Initial version +[1.1.6]: https://github.com/boost-ext/sml/compare/v1.1.5...v1.1.6 +[1.1.5]: https://github.com/boost-ext/sml/compare/v1.1.4...v1.1.5 +[1.1.5]: https://github.com/boost-ext/sml/compare/v1.1.4...v1.1.5 [1.1.4]: https://github.com/boost-ext/sml/compare/v1.1.3...v1.1.4 [1.1.3]: https://github.com/boost-ext/sml/compare/v1.1.2...v1.1.3 [1.1.2]: https://github.com/boost-ext/sml/compare/v1.1.1...v1.1.2 diff --git a/include/boost/sml.hpp b/include/boost/sml.hpp index 118e319c..e3821d5b 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'5 +#define BOOST_SML_VERSION 1'1'6 #define BOOST_SML_NAMESPACE_BEGIN \ namespace boost { \ inline namespace ext { \ namespace sml { \ - inline namespace v1_1_5 { + inline namespace v1_1_6 { #define BOOST_SML_NAMESPACE_END \ } \ } \ @@ -1426,7 +1426,7 @@ struct sm_impl : aux::conditional_t::value, aux: __BOOST_SML_REQUIRES(!aux::is_base_of, events_ids_t>::value && !aux::is_base_of, events_ids_t>::value && !aux::is_same, initial>::value)> - bool process_internal_events(const TEvent&, TDeps &, TSubs &, Ts &&...) { + bool process_internal_events(const TEvent &, TDeps &, TSubs &, Ts &&...) { return false; } template >(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_); } @@ -1750,7 +1750,13 @@ class sm { using sm_impl_t = sm_impl>; using state_t = typename sm_impl_t::state_t; using states_ids_t = typename sm_impl_t::states_ids_t; - return aux::get_id((states_ids_t *)0) == aux::cget(sub_sms_).current_state_[0]; + auto result = false; + visit_current_states([&](auto state) { + (void)state; + result |= (aux::get_id((states_ids_t *)0) == + aux::get_id((states_ids_t *)0)); + }); + return result; } template , template class TState> bool is(const TState &) const {