34 #include <type_traits> 
   37 #define WIN32_LEAN_AND_MEAN 
   47     static inline std::string wsaErrorCodeToString(
int err) {
 
   51             FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, 
nullptr,
 
   52             err, 0, &(buf[0]), 
sizeof(buf) / 
sizeof(buf[0]), 
nullptr);
 
   53         return util::tcharToUTF8String(buf);
 
   56     inline bool NetworkingSupport::m_start() {
 
   58         auto status = WSAStartup(MAKEWORD(2, 2), &wsaData);
 
   63         m_err = 
"WSAStartup failed: " + wsaErrorCodeToString(status);
 
   67     inline bool NetworkingSupport::m_stop() {
 
   68         if (SOCKET_ERROR == WSACleanup()) {
 
   70                 "WSACleanup failed: " + wsaErrorCodeToString(WSAGetLastError());
 
   77     inline bool NetworkingSupport::m_start() {
 
   81     inline bool NetworkingSupport::m_stop() { 
return true; }
 
   85         m_success = m_start();
 
   91             std::cerr << 
getError() << std::endl;
 
~NetworkingSupport()
Destructor. 
void shutdown()
Shutdown before destruction. 
std::string const & getError() const 
Get error message, if any. 
NetworkingSupport()
Constructor. 
bool wasSuccessful() const 
Get whether the last operation (automatic startup or manual, early shutdown) was successful. 
Configured header for internal UTF16 or Windows TCHAR to UTF8 conversion. Using this header requires ...