From c09cd7512491cee1e82c1ad8128ce9fd4bc3f79b Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 22 Sep 2017 23:32:28 +0200 Subject: Initial modularization with both Clang and VC hacks Note: gave up on VC about half way though. --- libbutl/path.ixx | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) (limited to 'libbutl/path.ixx') diff --git a/libbutl/path.ixx b/libbutl/path.ixx index 7227b72..f983f5d 100644 --- a/libbutl/path.ixx +++ b/libbutl/path.ixx @@ -2,39 +2,25 @@ // copyright : Copyright (c) 2014-2017 Code Synthesis Ltd // license : MIT; see accompanying LICENSE file -#ifdef _WIN32 -# include // towlower(), towupper() -#endif - -namespace butl +LIBBUTL_MODEXPORT namespace butl //@@ MOD Clang needs this for some reason. { #ifdef _WIN32 template <> + LIBBUTL_SYMEXPORT //@@ MOD VC needs it for some reason. inline char path_traits:: tolower (char c) { - return lcase (c); - } - - template <> - inline wchar_t path_traits:: - tolower (wchar_t c) - { - return std::towlower (c); + //@@ MOD VC-ICE return lcase (c); + return std::tolower (c); } template <> + LIBBUTL_SYMEXPORT //@@ MOD VC needs it for some reason. inline char path_traits:: toupper (char c) { - return ucase (c); - } - - template <> - inline wchar_t path_traits:: - toupper (wchar_t c) - { - return std::towupper (c); + //@@ MOD VC-ICE return ucase (c); + return std::toupper (c); } #endif -- cgit v1.1