#pragma once namespace Socket { struct WSAManager { public: static WSAManager* GetInstance() { static WSAManager instance; return &instance; } WSAManager(const WSAManager&) = delete; WSAManager& operator=(const WSAManager&) = delete; private: WSAManager(); ~WSAManager(); }; }