From 3b9e9b6df1d124b29bfd3715b6cb12cdee18b2ea Mon Sep 17 00:00:00 2001 From: John Fultz Date: Mon, 17 Jul 2023 15:49:09 -0500 Subject: Fix up std:: namespace hygiene. * Remove all uses of `using namespace std` from header files (although a few specific cases of things like `using std::vector` remain) * Move all existing uses of `using namespace std` in cpp files to after the header includes * Make coordinating changes so it builds again. Qt6 builds on Windows were breaking because of namespace collision between std::byte and some version of `byte` in one of Qt's namespaces. That breakage is now fixed. It would be good to systematically clean up all `using` declarations in header files to ensure nothing is leaking out, but that's for another time. --- uv.h | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) (limited to 'uv.h') diff --git a/uv.h b/uv.h index b4a9a26..d792275 100644 --- a/uv.h +++ b/uv.h @@ -24,8 +24,6 @@ #include #include -using namespace std; - /** Beginning of define options */ // Whether to use wchar for Quackle's user-visible strings. @@ -38,30 +36,30 @@ using namespace std; #if QUACKLE_USE_WCHAR_FOR_USER_VISIBLE -typedef wstring UVString; +typedef std::wstring UVString; typedef wchar_t UVChar; -typedef wstringstream UVStringStream; -typedef wistream UVIStream; -typedef wostream UVOStream; -typedef wostringstream UVOStringStream; -typedef wistringstream UVIStringStream; -typedef wifstream UVIFStream; -typedef wofstream UVOFStream; -#define UVcout wcout -#define UVcerr wcerr +typedef std::wstringstream UVStringStream; +typedef std::wistream UVIStream; +typedef std::wostream UVOStream; +typedef std::wostringstream UVOStringStream; +typedef std::wistringstream UVIStringStream; +typedef std::wifstream UVIFStream; +typedef std::wofstream UVOFStream; +#define UVcout std::wcout +#define UVcerr std::wcerr #define MARK_UV(theString) L ## theString #else -typedef string UVString; +typedef std::string UVString; typedef char UVChar; -typedef stringstream UVStringStream; -typedef istream UVIStream; -typedef ostream UVOStream; -typedef istringstream UVIStringStream; -typedef ostringstream UVOStringStream; -typedef ifstream UVIFStream; -typedef ofstream UVOFStream; -#define UVcout cout -#define UVcerr cerr +typedef std::stringstream UVStringStream; +typedef std::istream UVIStream; +typedef std::ostream UVOStream; +typedef std::istringstream UVIStringStream; +typedef std::ostringstream UVOStringStream; +typedef std::ifstream UVIFStream; +typedef std::ofstream UVOFStream; +#define UVcout std::cout +#define UVcerr std::cerr #define MARK_UV(theString) theString #endif -- cgit v1.2.3