diff options
author | tamasmeszaros <meszaros.q@gmail.com> | 2021-12-02 17:55:57 +0300 |
---|---|---|
committer | tamasmeszaros <meszaros.q@gmail.com> | 2022-01-11 13:26:26 +0300 |
commit | 4d0088e72f029c1dcafec99a1306ef0fc601bda6 (patch) | |
tree | 90dc2f143247b39d940a1a8ade55b42c1e78e410 /src/slic3r/GUI/Jobs | |
parent | e367ef8011ffa419ab1decb035e5fb46f01c8ae1 (diff) |
Replace std::variant with boost::variant
Unavailable on MacOS < 1.14
Diffstat (limited to 'src/slic3r/GUI/Jobs')
-rw-r--r-- | src/slic3r/GUI/Jobs/BoostThreadWorker.cpp | 8 | ||||
-rw-r--r-- | src/slic3r/GUI/Jobs/BoostThreadWorker.hpp | 8 |
2 files changed, 9 insertions, 7 deletions
diff --git a/src/slic3r/GUI/Jobs/BoostThreadWorker.cpp b/src/slic3r/GUI/Jobs/BoostThreadWorker.cpp index a6eee28ac..8475f0537 100644 --- a/src/slic3r/GUI/Jobs/BoostThreadWorker.cpp +++ b/src/slic3r/GUI/Jobs/BoostThreadWorker.cpp @@ -6,10 +6,10 @@ namespace Slic3r { namespace GUI { void BoostThreadWorker::WorkerMessage::deliver(BoostThreadWorker &runner) { - switch(MsgType(m_data.index())) { + switch(MsgType(get_type())) { case Empty: break; case Status: { - StatusInfo info = std::get<Status>(m_data); + auto info = boost::get<StatusInfo>(m_data); if (runner.get_pri()) { runner.get_pri()->set_progress(info.status); runner.get_pri()->set_status_text(info.msg.c_str()); @@ -17,7 +17,7 @@ void BoostThreadWorker::WorkerMessage::deliver(BoostThreadWorker &runner) break; } case Finalize: { - JobEntry& entry = std::get<Finalize>(m_data); + auto& entry = boost::get<JobEntry>(m_data); entry.job->finalize(entry.canceled, entry.eptr); // Unhandled exceptions are rethrown without mercy. @@ -27,7 +27,7 @@ void BoostThreadWorker::WorkerMessage::deliver(BoostThreadWorker &runner) break; } case MainThreadCall: { - MainThreadCallData &calldata = std::get<MainThreadCall>(m_data); + auto &calldata = boost::get<MainThreadCallData >(m_data); calldata.fn(); calldata.promise.set_value(); diff --git a/src/slic3r/GUI/Jobs/BoostThreadWorker.hpp b/src/slic3r/GUI/Jobs/BoostThreadWorker.hpp index 1775a90bd..908ebbb05 100644 --- a/src/slic3r/GUI/Jobs/BoostThreadWorker.hpp +++ b/src/slic3r/GUI/Jobs/BoostThreadWorker.hpp @@ -1,7 +1,7 @@ #ifndef BOOSTTHREADWORKER_HPP #define BOOSTTHREADWORKER_HPP -#include <variant> +#include <boost/variant.hpp> #include "Worker.hpp" @@ -40,10 +40,12 @@ class BoostThreadWorker : public Worker, private Job::Ctl std::promise<void> promise; }; + struct EmptyMessage {}; + class WorkerMessage { enum MsgType { Empty, Status, Finalize, MainThreadCall }; - std::variant<std::monostate, StatusInfo, JobEntry, MainThreadCallData> m_data; + boost::variant<EmptyMessage, StatusInfo, JobEntry, MainThreadCallData> m_data; public: WorkerMessage() = default; @@ -53,7 +55,7 @@ class BoostThreadWorker : public Worker, private Job::Ctl WorkerMessage(JobEntry &&entry) : m_data{std::move(entry)} {} WorkerMessage(MainThreadCallData fn) : m_data{std::move(fn)} {} - int get_type () const { return m_data.index(); } + int get_type () const { return m_data.which(); } void deliver(BoostThreadWorker &runner); }; |