Replace boost::variant with std::variant
authorsvost <ya.nowa@yandex.ru>
Sun, 9 Jan 2022 20:37:01 +0000 (23:37 +0300)
committersvost <ya.nowa@yandex.ru>
Sun, 9 Jan 2022 20:37:01 +0000 (23:37 +0300)
src/base58.cpp
src/keystore.h
src/qt/multisiginputentry.cpp
src/rpcrawtransaction.cpp
src/rpcwallet.cpp
src/script.cpp

index e8cde34..b6b7160 100644 (file)
@@ -274,7 +274,7 @@ bool DecodeBase58Check(const std::string& str, std::vector<unsigned char>& vchRe
     }
 
     namespace {
-        class CBitcoinAddressVisitor : public boost::static_visitor<bool> {
+        class CBitcoinAddressVisitor {
         private:
             CBitcoinAddress *addr;
         public:
@@ -299,7 +299,7 @@ bool DecodeBase58Check(const std::string& str, std::vector<unsigned char>& vchRe
 
     bool CBitcoinAddress::Set(const CTxDestination &dest)
     {
-        return boost::apply_visitor(CBitcoinAddressVisitor(this), dest);
+        return std::visit(CBitcoinAddressVisitor(this), dest);
     }
 
     bool CBitcoinAddress::Set(const CMalleablePubKey &mpk) {
index 36149ba..4a1ce85 100644 (file)
@@ -8,7 +8,8 @@
 #include "crypter.h"
 #include "sync.h"
 #include <boost/signals2/signal.hpp>
-#include <boost/variant.hpp>
+
+#include <variant>
 
 class CScript;
 
@@ -25,7 +26,7 @@ public:
   *
   * A CTxDestination is the internal data type encoded in a CBitcoinAddress.
   */
-typedef boost::variant<CNoDestination, CKeyID, CScriptID> CTxDestination;
+using CTxDestination = std::variant<CNoDestination, CKeyID, CScriptID>;
 
 /** A virtual base class for key stores */
 class CKeyStore
index 23458c2..fc3f270 100644 (file)
@@ -158,7 +158,7 @@ void MultisigInputEntry::on_transactionOutput_currentIndexChanged(int index)
              CTxDestination dest;
             if(ExtractDestination(script, dest))
             {
-                CScriptID scriptID = boost::get<CScriptID>(dest);
+                CScriptID scriptID = std::get<CScriptID>(dest);
                 CScript redeemScript;
                 if(model->getWallet()->GetCScript(scriptID, redeemScript))
                     ui->redeemScript->setText(HexStr(redeemScript.begin(), redeemScript.end()).c_str());
@@ -171,4 +171,4 @@ void MultisigInputEntry::on_transactionOutput_currentIndexChanged(int index)
     }
 
     emit updateAmount();
-}
\ No newline at end of file
+}
index b064d0a..0b29059 100644 (file)
@@ -227,7 +227,7 @@ Value listunspent(const Array& params, bool fHelp)
             CTxDestination address;
             if (ExtractDestination(pk, address))
             {
-                const CScriptID& hash = boost::get<CScriptID>(address);
+                const CScriptID& hash = std::get<CScriptID>(address);
                 CScript redeemScript;
                 if (pwalletMain->GetCScript(hash, redeemScript))
                     entry.push_back(Pair("redeemScript", HexStr(redeemScript.begin(), redeemScript.end())));
index 5f9c6b5..e75fe87 100644 (file)
@@ -1758,7 +1758,7 @@ Value validateaddress(const Array& params, bool fHelp)
             ret.push_back(Pair("ismine", mine != MINE_NO));
             if (mine != MINE_NO) {
                 ret.push_back(Pair("watchonly", mine == MINE_WATCH_ONLY));
-                Object detail = boost::apply_visitor(DescribeAddressVisitor(mine), dest);
+                Object detail = std::visit(DescribeAddressVisitor(mine), dest);
                 ret.insert(ret.end(), detail.begin(), detail.end());
             }
             if (pwalletMain->mapAddressBook.count(address))
index 736fdb0..67be71d 100644 (file)
@@ -1780,7 +1780,7 @@ public:
         int nRequired;
         if (ExtractDestinations(script, type, vDest, nRequired)) {
             for (const CTxDestination &dest : vDest)
-                boost::apply_visitor(*this, dest);
+                std::visit(*this, dest);
         }
     }
 
@@ -2161,7 +2161,7 @@ public:
 
 void CScript::SetDestination(const CTxDestination& dest)
 {
-    boost::apply_visitor(CScriptVisitor(this), dest);
+    std::visit(CScriptVisitor(this), dest);
 }
 
 void CScript::SetAddress(const CBitcoinAddress& dest)