From d177c9d485ebafa5df5c5dab0aff0cdb7ac8bd83 Mon Sep 17 00:00:00 2001 From: Alexey Rybalchenko Date: Fri, 4 May 2018 16:40:36 +0200 Subject: [PATCH] Fix type conflict for some environments --- fairmq/tools/Network.h | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/fairmq/tools/Network.h b/fairmq/tools/Network.h index 9cd7514b..9757093d 100644 --- a/fairmq/tools/Network.h +++ b/fairmq/tools/Network.h @@ -29,6 +29,7 @@ #include #include #include +#include namespace fair { @@ -133,18 +134,19 @@ inline std::string getDefaultRouteNetworkInterface() inline std::string getIpFromHostname(const std::string& hostname) { try { + namespace bai = boost::asio::ip; boost::asio::io_service ios; - boost::asio::ip::tcp::resolver resolver(ios); - boost::asio::ip::tcp::resolver::query query(hostname, ""); - boost::asio::ip::tcp::resolver::iterator end; + bai::tcp::resolver resolver(ios); + bai::tcp::resolver::query query(hostname, ""); + bai::tcp::resolver::iterator end; - auto it = std::find_if(resolver.resolve(query), end, [](const boost::asio::ip::tcp::endpoint& ep) { + auto it = std::find_if(static_cast>(resolver.resolve(query)), end, [](const bai::tcp::endpoint& ep) { return ep.address().is_v4(); }); if (it != end) { std::stringstream ss; - ss << static_cast(*it).address(); + ss << static_cast(*it).address(); return ss.str(); } @@ -160,17 +162,18 @@ inline std::string getIpFromHostname(const std::string& hostname) inline std::string getIpFromHostname(const std::string& hostname, boost::asio::io_service& ios) { try { - boost::asio::ip::tcp::resolver resolver(ios); - boost::asio::ip::tcp::resolver::query query(hostname, ""); - boost::asio::ip::tcp::resolver::iterator end; + namespace bai = boost::asio::ip; + bai::tcp::resolver resolver(ios); + bai::tcp::resolver::query query(hostname, ""); + bai::tcp::resolver::iterator end; - auto it = std::find_if(resolver.resolve(query), end, [](const boost::asio::ip::tcp::endpoint& ep) { + auto it = std::find_if(static_cast>(resolver.resolve(query)), end, [](const bai::tcp::endpoint& ep) { return ep.address().is_v4(); }); if (it != end) { std::stringstream ss; - ss << static_cast(*it).address(); + ss << static_cast(*it).address(); return ss.str(); }