Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Библиотека stack_unwinding даёт возможность реализовать не только scope(exit) из языка D, но и scope(failure) и scope(success), так как предоставляет unwinding_indicator (позволяющий узнать завершился ли scope исключением или нет).
Это я понял. У тебя на гитхабе в библиотеке два фолдера — один standalone, второй boost. В standalone есть scope_exit, scope_failure, scope_success, которые отпределяются с помощью unwinding_indicator. С этим все понятно. Но есть еще фолдер boost, там определяются всякие хитрые макросы. Я собственно про них и спрашивал — что я теряю не используя их.
EP>Вот полная реализация scope(exit)/scope(failure)/scope(success) в одном файле.
Спасибо.
EP>Также, на базе кода из stack_unwinding, аналогичная реализация есть в библиотеке Facebook.Folly. У Александреску даже есть выступление на эту тему:
EP>http://vimeo.com/channels/ndc2014/97329153
EP>http://rsdn.ru/forum/cpp/5637880.flatАвтор: Skorodum
Дата: 06.06.14
Спасибо