Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
cpp-ify and simpifly functions used by graphicator
[simgrid.git] / src / kernel / context / ContextBoost.hpp
index 516b85f..8284fc9 100644 (file)
@@ -33,15 +33,9 @@ namespace context {
 class BoostContext : public SwappedContext {
 public:
   BoostContext(std::function<void()>&& code, actor::ActorImpl* actor, SwappedContextFactory* factory);
-  ~BoostContext() override;
-
-  void swap_into(SwappedContext* to) override;
 
 private:
-#if BOOST_VERSION < 105600
-  boost::context::fcontext_t* fc_ = nullptr;
-  typedef intptr_t arg_type;
-#elif BOOST_VERSION < 106100
+#if BOOST_VERSION < 106100
   boost::context::fcontext_t fc_;
   typedef intptr_t arg_type;
 #else
@@ -49,7 +43,9 @@ private:
   typedef boost::context::detail::transfer_t arg_type;
 #endif
 
-  static void wrapper(arg_type arg);
+  XBT_ATTRIB_NORETURN static void wrapper(arg_type arg);
+
+  void swap_into_for_real(SwappedContext* to) override;
 };
 
 class BoostContextFactory : public SwappedContextFactory {