mirror of https://github.com/PurpleI2P/i2pd.git
I2P: End-to-End encrypted and anonymous Internet
https://i2pd.website/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
767 B
45 lines
767 B
#ifndef UTIL_H |
|
#define UTIL_H |
|
|
|
#include <map> |
|
#include <string> |
|
#include <iostream> |
|
#include <boost/asio.hpp> |
|
#include <boost/lexical_cast.hpp> |
|
|
|
#ifdef ANDROID |
|
namespace std |
|
{ |
|
template <typename T> |
|
std::string to_string(T value) |
|
{ |
|
return boost::lexical_cast<std::string>(value); |
|
} |
|
} |
|
#endif |
|
|
|
namespace i2p |
|
{ |
|
namespace util |
|
{ |
|
/** |
|
wrapper arround boost::lexical_cast that "never" fails |
|
*/ |
|
template <typename T> |
|
T lexical_cast(const std::string & str, const T fallback) { |
|
try { |
|
return boost::lexical_cast<T>(str); |
|
} catch ( ... ) { |
|
return fallback; |
|
} |
|
} |
|
|
|
namespace net |
|
{ |
|
int GetMTU (const boost::asio::ip::address& localAddress); |
|
const boost::asio::ip::address GetInterfaceAddress(const std::string & ifname, bool ipv6=false); |
|
} |
|
} |
|
} |
|
|
|
#endif
|
|
|