результат boost :: sml process_event - PullRequest
0 голосов
/ 11 октября 2019

Попытка выбросить исключение из охраны / действия приводит к отмене. определение noexcept как ничего, прежде чем поможет msl.hpp. Каков нормальный способ получения результата вызова void process_event (событие) (я имею в виду обработанный / необработанный)?

PS: gcc 7.2

1 Ответ

1 голос
/ 20 октября 2019

Согласно документу https://boost -experimental.github.io / sml / user_guide.html , если process_event() обработало событие, то возвращает true, в противном случае возвращает false.

template<class T> requires configurable<T>
class sm {
public:
    ...
    template<class TEvent> // no requirements
    bool process_event(const TEvent&)

Однако тип возвращаемого значения process_event() был недействительным в фактической реализации.

Поэтому я отправил PR, чтобы исправить это https://github.com/boost-experimental/sml/pull/303. И он был объединен.

Если вы обновите sml до текущего мастера, то вы можете знать, что событие обрабатывается / не обрабатывается с помощью возвращаемого значения.

...