1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-03-28 19:21:04 +00:00

Merge branch 'replace_boost_variant' into 'master'

Replace boost::variant by std::variant

See merge request OpenMW/openmw!1747
This commit is contained in:
psi29a 2022-04-06 22:07:44 +00:00
commit 8b2c5e4801
2 changed files with 12 additions and 13 deletions

View File

@ -16,7 +16,7 @@
namespace namespace
{ {
struct ScriptCreatingVisitor : public boost::static_visitor<ESM::GlobalScript> struct ScriptCreatingVisitor
{ {
ESM::GlobalScript operator()(const MWWorld::Ptr &ptr) const ESM::GlobalScript operator()(const MWWorld::Ptr &ptr) const
{ {
@ -46,7 +46,7 @@ namespace
} }
}; };
struct PtrGettingVisitor : public boost::static_visitor<const MWWorld::Ptr*> struct PtrGettingVisitor
{ {
const MWWorld::Ptr* operator()(const MWWorld::Ptr &ptr) const const MWWorld::Ptr* operator()(const MWWorld::Ptr &ptr) const
{ {
@ -59,7 +59,7 @@ namespace
} }
}; };
struct PtrResolvingVisitor : public boost::static_visitor<MWWorld::Ptr> struct PtrResolvingVisitor
{ {
MWWorld::Ptr operator()(const MWWorld::Ptr &ptr) const MWWorld::Ptr operator()(const MWWorld::Ptr &ptr) const
{ {
@ -76,7 +76,7 @@ namespace
} }
}; };
class MatchPtrVisitor : public boost::static_visitor<bool> class MatchPtrVisitor
{ {
const MWWorld::Ptr& mPtr; const MWWorld::Ptr& mPtr;
public: public:
@ -93,7 +93,7 @@ namespace
} }
}; };
struct IdGettingVisitor : public boost::static_visitor<std::string> struct IdGettingVisitor
{ {
std::string operator()(const MWWorld::Ptr& ptr) const std::string operator()(const MWWorld::Ptr& ptr) const
{ {
@ -115,19 +115,19 @@ namespace MWScript
const MWWorld::Ptr* GlobalScriptDesc::getPtrIfPresent() const const MWWorld::Ptr* GlobalScriptDesc::getPtrIfPresent() const
{ {
return boost::apply_visitor(PtrGettingVisitor(), mTarget); return std::visit(PtrGettingVisitor(), mTarget);
} }
MWWorld::Ptr GlobalScriptDesc::getPtr() MWWorld::Ptr GlobalScriptDesc::getPtr()
{ {
MWWorld::Ptr ptr = boost::apply_visitor(PtrResolvingVisitor(), mTarget); MWWorld::Ptr ptr = std::visit(PtrResolvingVisitor {}, mTarget);
mTarget = ptr; mTarget = ptr;
return ptr; return ptr;
} }
std::string GlobalScriptDesc::getId() const std::string GlobalScriptDesc::getId() const
{ {
return boost::apply_visitor(IdGettingVisitor(), mTarget); return std::visit(IdGettingVisitor {}, mTarget);
} }
@ -239,7 +239,7 @@ namespace MWScript
{ {
for (const auto& iter : mScripts) for (const auto& iter : mScripts)
{ {
ESM::GlobalScript script = boost::apply_visitor (ScriptCreatingVisitor(), iter.second->mTarget); ESM::GlobalScript script = std::visit (ScriptCreatingVisitor {}, iter.second->mTarget);
script.mId = iter.first; script.mId = iter.first;
@ -338,7 +338,7 @@ namespace MWScript
MatchPtrVisitor visitor(base); MatchPtrVisitor visitor(base);
for (const auto& script : mScripts) for (const auto& script : mScripts)
{ {
if (boost::apply_visitor (visitor, script.second->mTarget)) if (std::visit (visitor, script.second->mTarget))
script.second->mTarget = updated; script.second->mTarget = updated;
} }
} }

View File

@ -1,12 +1,11 @@
#ifndef GAME_SCRIPT_GLOBALSCRIPTS_H #ifndef GAME_SCRIPT_GLOBALSCRIPTS_H
#define GAME_SCRIPT_GLOBALSCRIPTS_H #define GAME_SCRIPT_GLOBALSCRIPTS_H
#include <boost/variant/variant.hpp>
#include <string> #include <string>
#include <map> #include <map>
#include <memory> #include <memory>
#include <utility> #include <utility>
#include <variant>
#include <cstdint> #include <cstdint>
@ -37,7 +36,7 @@ namespace MWScript
{ {
bool mRunning; bool mRunning;
Locals mLocals; Locals mLocals;
boost::variant<MWWorld::Ptr, std::pair<ESM::RefNum, std::string> > mTarget; // Used to start targeted script std::variant<MWWorld::Ptr, std::pair<ESM::RefNum, std::string>> mTarget; // Used to start targeted script
GlobalScriptDesc(); GlobalScriptDesc();