Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

⬆️ (extern): Update boost::sml to v1.1.5 #840

Merged
merged 1 commit into from
Jun 3, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 10 additions & 3 deletions include/boost/sml.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
} \
} \
Expand Down Expand Up @@ -1706,7 +1706,7 @@ class sm {
aux::get<sm_impl<TSM>>(sub_sms_).start(deps_, sub_sms_);
}
template <class... TDeps, __BOOST_SML_REQUIRES((sizeof...(TDeps) > 1) && aux::is_unique_t<TDeps...>::value)>
explicit sm(TDeps &&... deps) : deps_{aux::init{}, aux::pool<TDeps...>{deps...}}, sub_sms_{aux::pool<TDeps...>{deps...}} {
explicit sm(TDeps &&...deps) : deps_{aux::init{}, aux::pool<TDeps...>{deps...}}, sub_sms_{aux::pool<TDeps...>{deps...}} {
aux::get<sm_impl<TSM>>(sub_sms_).start(deps_, sub_sms_);
}
sm(aux::init, deps_t &deps) : deps_{deps}, sub_sms_{deps} { aux::get<sm_impl<TSM>>(sub_sms_).start(deps_, sub_sms_); }
Expand Down Expand Up @@ -2289,6 +2289,12 @@ struct transition<state<S2>, G, A> : transition<state<internal>, state<S2>, fron
auto operator=(const T &) const {
return transition<T, state<S2>, front::event<back::anonymous>, G, A>{g, a};
}
const auto &operator()() const { return *this; }
template <class TEvent, class TSM, class TDeps, class TSubs>
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 <class S1, class S2>
struct transition<state<S1>, state<S2>> : transition<state<S1>, state<S2>, front::event<back::anonymous>, always, none> {
Expand Down Expand Up @@ -2714,6 +2720,7 @@ __BOOST_SML_UNUSED static front::state<back::terminate_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<class SML_EVAL> eval;
template <class... Ts, __BOOST_SML_REQUIRES(aux::is_same<aux::bool_list<aux::always<Ts>::value...>,
aux::bool_list<concepts::transitional<Ts>::value...>>::value)>
auto make_transition_table(Ts... ts) {
Expand Down