Fix boost <1.60 compilation and fix boost 1.73+ warnings

This commit is contained in:
Lee Clagett 2020-05-31 21:18:11 -04:00
parent 7e78da7772
commit 7aeb503547
13 changed files with 35 additions and 31 deletions

View file

@ -465,7 +465,7 @@ eof:
bool run_default_console_handler_no_srv_param(t_server* ptsrv, t_handler handlr, std::function<std::string(void)> prompt, const std::string& usage = "") bool run_default_console_handler_no_srv_param(t_server* ptsrv, t_handler handlr, std::function<std::string(void)> prompt, const std::string& usage = "")
{ {
async_console_handler console_handler; async_console_handler console_handler;
return console_handler.run(ptsrv, boost::bind<bool>(no_srv_param_adapter<t_server, t_handler>, boost::placeholders::_1, boost::placeholders::_2, handlr), prompt, usage); return console_handler.run(ptsrv, std::bind<bool>(no_srv_param_adapter<t_server, t_handler>, std::placeholders::_1, std::placeholders::_2, handlr), prompt, usage);
} }
template<class t_server, class t_handler> template<class t_server, class t_handler>
@ -634,7 +634,7 @@ eof:
bool run_handling(std::function<std::string(void)> prompt, const std::string& usage_string, std::function<void(void)> exit_handler = NULL) bool run_handling(std::function<std::string(void)> prompt, const std::string& usage_string, std::function<void(void)> exit_handler = NULL)
{ {
return m_console_handler.run(boost::bind(&console_handlers_binder::process_command_str, this, boost::placeholders::_1), prompt, usage_string, exit_handler); return m_console_handler.run(std::bind(&console_handlers_binder::process_command_str, this, std::placeholders::_1), prompt, usage_string, exit_handler);
} }
void print_prompt() void print_prompt()

View file

@ -32,7 +32,6 @@
#include <boost/bind.hpp>
#include <boost/foreach.hpp> #include <boost/foreach.hpp>
#include <boost/uuid/random_generator.hpp> #include <boost/uuid/random_generator.hpp>
#include <boost/chrono.hpp> #include <boost/chrono.hpp>
@ -210,15 +209,15 @@ PRAGMA_WARNING_DISABLE_VS(4355)
socket().async_receive(boost::asio::buffer(buffer_), socket().async_receive(boost::asio::buffer(buffer_),
boost::asio::socket_base::message_peek, boost::asio::socket_base::message_peek,
strand_.wrap( strand_.wrap(
boost::bind(&connection<t_protocol_handler>::handle_receive, self, std::bind(&connection<t_protocol_handler>::handle_receive, self,
boost::asio::placeholders::error, std::placeholders::_1,
boost::asio::placeholders::bytes_transferred))); std::placeholders::_2)));
else else
async_read_some(boost::asio::buffer(buffer_), async_read_some(boost::asio::buffer(buffer_),
strand_.wrap( strand_.wrap(
boost::bind(&connection<t_protocol_handler>::handle_read, self, std::bind(&connection<t_protocol_handler>::handle_read, self,
boost::asio::placeholders::error, std::placeholders::_1,
boost::asio::placeholders::bytes_transferred))); std::placeholders::_2)));
#if !defined(_WIN32) || !defined(__i686) #if !defined(_WIN32) || !defined(__i686)
// not supported before Windows7, too lazy for runtime check // not supported before Windows7, too lazy for runtime check
// Just exclude for 32bit windows builds // Just exclude for 32bit windows builds
@ -688,7 +687,7 @@ PRAGMA_WARNING_DISABLE_VS(4355)
reset_timer(get_default_timeout(), false); reset_timer(get_default_timeout(), false);
async_write(boost::asio::buffer(m_send_que.front().data(), size_now ) , async_write(boost::asio::buffer(m_send_que.front().data(), size_now ) ,
strand_.wrap( strand_.wrap(
boost::bind(&connection<t_protocol_handler>::handle_write, self, _1, _2) std::bind(&connection<t_protocol_handler>::handle_write, self, std::placeholders::_1, std::placeholders::_2)
) )
); );
//_dbg3("(chunk): " << size_now); //_dbg3("(chunk): " << size_now);
@ -892,7 +891,7 @@ PRAGMA_WARNING_DISABLE_VS(4355)
CHECK_AND_ASSERT_MES( size_now == m_send_que.front().size(), void(), "Unexpected queue size"); CHECK_AND_ASSERT_MES( size_now == m_send_que.front().size(), void(), "Unexpected queue size");
async_write(boost::asio::buffer(m_send_que.front().data(), size_now) , async_write(boost::asio::buffer(m_send_que.front().data(), size_now) ,
strand_.wrap( strand_.wrap(
boost::bind(&connection<t_protocol_handler>::handle_write, connection<t_protocol_handler>::shared_from_this(), _1, _2) std::bind(&connection<t_protocol_handler>::handle_write, connection<t_protocol_handler>::shared_from_this(), std::placeholders::_1, std::placeholders::_2)
) )
); );
//_dbg3("(normal)" << size_now); //_dbg3("(normal)" << size_now);
@ -1402,7 +1401,7 @@ POP_WARNINGS
shared_context->connect_mut.lock(); shared_context->ec = ec_; shared_context->cond.notify_one(); shared_context->connect_mut.unlock(); shared_context->connect_mut.lock(); shared_context->ec = ec_; shared_context->cond.notify_one(); shared_context->connect_mut.unlock();
}; };
sock_.async_connect(remote_endpoint, boost::bind<void>(connect_callback, _1, local_shared_context)); sock_.async_connect(remote_endpoint, std::bind<void>(connect_callback, std::placeholders::_1, local_shared_context));
while(local_shared_context->ec == boost::asio::error::would_block) while(local_shared_context->ec == boost::asio::error::would_block)
{ {
bool r = local_shared_context->cond.timed_wait(lock, boost::get_system_time() + boost::posix_time::milliseconds(conn_timeout)); bool r = local_shared_context->cond.timed_wait(lock, boost::get_system_time() + boost::posix_time::milliseconds(conn_timeout));

View file

@ -31,7 +31,7 @@
#include <boost/thread.hpp> #include <boost/thread.hpp>
#include <boost/bind.hpp> #include <boost/bind/bind.hpp>
#include "net/abstract_tcp_server2.h" #include "net/abstract_tcp_server2.h"
#include "http_protocol_handler.h" #include "http_protocol_handler.h"

View file

@ -28,6 +28,7 @@
#include "portable_storage_template_helper.h" #include "portable_storage_template_helper.h"
#include <boost/utility/value_init.hpp> #include <boost/utility/value_init.hpp>
#include <functional>
#include "span.h" #include "span.h"
#include "net/levin_base.h" #include "net/levin_base.h"
@ -294,20 +295,20 @@ namespace epee
#define HANDLE_INVOKE2(command_id, func, type_name_in, typename_out) \ #define HANDLE_INVOKE2(command_id, func, type_name_in, typename_out) \
if(!is_notify && command_id == command) \ if(!is_notify && command_id == command) \
{handled=true;return epee::net_utils::buff_to_t_adapter<internal_owner_type_name, type_name_in, typename_out>(this, command, in_buff, buff_out, boost::bind(func, this, boost::placeholders::_1, boost::placeholders::_2, boost::placeholders::_3, boost::placeholders::_4), context);} {handled=true;return epee::net_utils::buff_to_t_adapter<internal_owner_type_name, type_name_in, typename_out>(this, command, in_buff, buff_out, std::bind(func, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4), context);}
#define HANDLE_INVOKE_T2(COMMAND, func) \ #define HANDLE_INVOKE_T2(COMMAND, func) \
if(!is_notify && COMMAND::ID == command) \ if(!is_notify && COMMAND::ID == command) \
{handled=true;return epee::net_utils::buff_to_t_adapter<internal_owner_type_name, typename COMMAND::request, typename COMMAND::response>(command, in_buff, buff_out, boost::bind(func, this, boost::placeholders::_1, boost::placeholders::_2, boost::placeholders::_3, boost::placeholders::_4), context);} {handled=true;return epee::net_utils::buff_to_t_adapter<internal_owner_type_name, typename COMMAND::request, typename COMMAND::response>(command, in_buff, buff_out, std::bind(func, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4), context);}
#define HANDLE_NOTIFY2(command_id, func, type_name_in) \ #define HANDLE_NOTIFY2(command_id, func, type_name_in) \
if(is_notify && command_id == command) \ if(is_notify && command_id == command) \
{handled=true;return epee::net_utils::buff_to_t_adapter<internal_owner_type_name, type_name_in>(this, command, in_buff, boost::bind(func, this, boost::placeholders::_1, boost::placeholders::_2, boost::placeholders::_3), context);} {handled=true;return epee::net_utils::buff_to_t_adapter<internal_owner_type_name, type_name_in>(this, command, in_buff, std::bind(func, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3), context);}
#define HANDLE_NOTIFY_T2(NOTIFY, func) \ #define HANDLE_NOTIFY_T2(NOTIFY, func) \
if(is_notify && NOTIFY::ID == command) \ if(is_notify && NOTIFY::ID == command) \
{handled=true;return epee::net_utils::buff_to_t_adapter<internal_owner_type_name, typename NOTIFY::request>(this, command, in_buff, boost::bind(func, this, boost::placeholders::_1, boost::placeholders::_2, boost::placeholders::_3), context);} {handled=true;return epee::net_utils::buff_to_t_adapter<internal_owner_type_name, typename NOTIFY::request>(this, command, in_buff, std::bind(func, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3), context);}
#define CHAIN_INVOKE_MAP2(func) \ #define CHAIN_INVOKE_MAP2(func) \

View file

@ -43,7 +43,6 @@
#include <algorithm> #include <algorithm>
#include <cstdio> #include <cstdio>
#include <fstream> #include <fstream>
#include <boost/iostreams/copy.hpp>
#include <atomic> #include <atomic>
#include "common/command_line.h" #include "common/command_line.h"

View file

@ -41,7 +41,6 @@
#include <algorithm> #include <algorithm>
#include <cstdio> #include <cstdio>
#include <fstream> #include <fstream>
#include <boost/iostreams/copy.hpp>
#include <atomic> #include <atomic>
#include "common/command_line.h" #include "common/command_line.h"

View file

@ -34,6 +34,7 @@
#include "string_tools.h" #include "string_tools.h"
#include "storages/portable_storage_template_helper.h" // epee json include #include "storages/portable_storage_template_helper.h" // epee json include
#include "serialization/keyvalue_serialization.h" #include "serialization/keyvalue_serialization.h"
#include <functional>
#include <vector> #include <vector>
using namespace epee; using namespace epee;
@ -133,11 +134,9 @@ namespace cryptonote
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
uint64_t checkpoints::get_max_height() const uint64_t checkpoints::get_max_height() const
{ {
std::map< uint64_t, crypto::hash >::const_iterator highest = if (m_points.empty())
std::max_element( m_points.begin(), m_points.end(), return 0;
( boost::bind(&std::map< uint64_t, crypto::hash >::value_type::first, boost::placeholders::_1) < return m_points.rbegin()->first;
boost::bind(&std::map< uint64_t, crypto::hash >::value_type::first, boost::placeholders::_2 ) ) );
return highest->first;
} }
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
const std::map<uint64_t, crypto::hash>& checkpoints::get_points() const const std::map<uint64_t, crypto::hash>& checkpoints::get_points() const

View file

@ -32,6 +32,7 @@
#endif #endif
#include <algorithm> #include <algorithm>
#include <functional>
#include <boost/endian/conversion.hpp> #include <boost/endian/conversion.hpp>
#include <boost/asio/io_service.hpp> #include <boost/asio/io_service.hpp>
#include <boost/asio/ip/udp.hpp> #include <boost/asio/ip/udp.hpp>
@ -711,7 +712,7 @@ namespace trezor{
// Start the asynchronous operation itself. The handle_receive function // Start the asynchronous operation itself. The handle_receive function
// used as a callback will update the ec and length variables. // used as a callback will update the ec and length variables.
m_socket->async_receive_from(boost::asio::buffer(buffer), m_endpoint, m_socket->async_receive_from(boost::asio::buffer(buffer), m_endpoint,
boost::bind(&UdpTransport::handle_receive, boost::placeholders::_1, boost::placeholders::_2, &ec, &length)); std::bind(&UdpTransport::handle_receive, std::placeholders::_1, std::placeholders::_2, &ec, &length));
// Block until the asynchronous operation has completed. // Block until the asynchronous operation has completed.
do { do {

View file

@ -31,7 +31,7 @@
// IP blocking adapted from Boolberry // IP blocking adapted from Boolberry
#include <algorithm> #include <algorithm>
#include <boost/bind.hpp> #include <boost/bind/bind.hpp>
#include <boost/date_time/posix_time/posix_time.hpp> #include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/filesystem/operations.hpp> #include <boost/filesystem/operations.hpp>
#include <boost/optional/optional.hpp> #include <boost/optional/optional.hpp>

View file

@ -30,7 +30,7 @@
#include <boost/algorithm/string.hpp> #include <boost/algorithm/string.hpp>
#include <boost/asio/ip/address.hpp> #include <boost/asio/ip/address.hpp>
#include <boost/bind.hpp> #include <functional>
#include "common/command_line.h" #include "common/command_line.h"
#include "common/i18n.h" #include "common/i18n.h"
#include "hex.h" #include "hex.h"
@ -221,7 +221,7 @@ namespace cryptonote
std::vector<std::string> access_control_origins; std::vector<std::string> access_control_origins;
boost::split(access_control_origins, access_control_origins_input, boost::is_any_of(",")); boost::split(access_control_origins, access_control_origins_input, boost::is_any_of(","));
std::for_each(access_control_origins.begin(), access_control_origins.end(), boost::bind(&boost::trim<std::string>, _1, std::locale::classic())); std::for_each(access_control_origins.begin(), access_control_origins.end(), std::bind(&boost::trim<std::string>, std::placeholders::_1, std::locale::classic()));
config.access_control_origins = std::move(access_control_origins); config.access_control_origins = std::move(access_control_origins);
} }

View file

@ -33,6 +33,11 @@
* *
* \brief Source file that defines simple_wallet class. * \brief Source file that defines simple_wallet class.
*/ */
// use boost bind placeholders for now
#define BOOST_BIND_GLOBAL_PLACEHOLDERS 1
#include <boost/bind.hpp>
#include <locale.h> #include <locale.h>
#include <thread> #include <thread>
#include <iostream> #include <iostream>

View file

@ -947,7 +947,7 @@ uint32_t get_subaddress_clamped_sum(uint32_t idx, uint32_t extra)
static void setup_shim(hw::wallet_shim * shim, tools::wallet2 * wallet) static void setup_shim(hw::wallet_shim * shim, tools::wallet2 * wallet)
{ {
shim->get_tx_pub_key_from_received_outs = boost::bind(&tools::wallet2::get_tx_pub_key_from_received_outs, wallet, _1); shim->get_tx_pub_key_from_received_outs = std::bind(&tools::wallet2::get_tx_pub_key_from_received_outs, wallet, std::placeholders::_1);
} }
bool get_pruned_tx(const cryptonote::COMMAND_RPC_GET_TRANSACTIONS::entry &entry, cryptonote::transaction &tx, crypto::hash &tx_hash) bool get_pruned_tx(const cryptonote::COMMAND_RPC_GET_TRANSACTIONS::entry &entry, cryptonote::transaction &tx, crypto::hash &tx_hash)

View file

@ -30,6 +30,7 @@
#pragma once #pragma once
#include <functional>
#include <vector> #include <vector>
#include <iostream> #include <iostream>
#include <stdint.h> #include <stdint.h>
@ -856,10 +857,10 @@ inline bool do_replay_file(const std::string& filename)
} }
#define REGISTER_CALLBACK(CB_NAME, CLBACK) \ #define REGISTER_CALLBACK(CB_NAME, CLBACK) \
register_callback(CB_NAME, boost::bind(&CLBACK, this, boost::placeholders::_1, boost::placeholders::_2, boost::placeholders::_3)); register_callback(CB_NAME, std::bind(&CLBACK, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3));
#define REGISTER_CALLBACK_METHOD(CLASS, METHOD) \ #define REGISTER_CALLBACK_METHOD(CLASS, METHOD) \
register_callback(#METHOD, boost::bind(&CLASS::METHOD, this, boost::placeholders::_1, boost::placeholders::_2, boost::placeholders::_3)); register_callback(#METHOD, std::bind(&CLASS::METHOD, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3));
#define MAKE_GENESIS_BLOCK(VEC_EVENTS, BLK_NAME, MINER_ACC, TS) \ #define MAKE_GENESIS_BLOCK(VEC_EVENTS, BLK_NAME, MINER_ACC, TS) \
test_generator generator; \ test_generator generator; \