Из https://boost-ext.github.io/sml/example ... ferprocess
Модифицирован, чтобы попробовать и скопировать FSM.
#include
#include
#include
#include
namespace sml = boost::sml;
namespace {
struct e1 {};
struct e2 {};
struct e3 {};
struct e4 {};
struct defer_and_process {
auto operator()() const noexcept {
using namespace sml;
return make_transition_table(
*"idle"_s + event / defer
, "idle"_s + event = "s1"_s
, "s1"_s + event / process(e2{}) = "s2"_s
, "s2"_s + event / process(e4{})
, "s2"_s + event = X
);
}
};
} // namespace
int main() {
using namespace sml;
boost::sml::sm
sm; /// defer_queue policy to enable deferred events using std::queue
boost::sml::sm
secondSm;
sm = secondSm;
}
< /code>
копирует нормально без политик.
Есть ли улов? Но они на куче.
Подробнее здесь: https://stackoverflow.com/questions/795 ... -be-copied