(cherry picked from commit 3b57bd0a1f2375ec88e57298276242edaf611b9e)
This commit is contained in:
qPCR4vir 2019-12-03 02:24:25 +01:00
parent 4b7facebdf
commit 3d00b7c589
4 changed files with 16 additions and 15 deletions

View File

@ -1,7 +1,7 @@
/**
* Predefined Symbols for C++
* Nana C++ Library(http://www.nanapro.org)
* Copyright(C) 2016-2018 Jinhao(cnjinhao@hotmail.com)
* Copyright(C) 2016-2019 Jinhao(cnjinhao@hotmail.com)
*
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
@ -48,14 +48,15 @@
#ifndef NANA_CXX_DEFINES_INCLUDED
#define NANA_CXX_DEFINES_INCLUDED
#define STD_FILESYSTEM_NOT_SUPPORTED
// #define STD_FILESYSTEM_NOT_SUPPORTED
//C++ language
#if defined(_MSC_VER)
# if (_MSC_VER < 1900)
# if (_MSC_VER < 1900) // VC2013
# //About std.experimental.filesystem.
# //Through VC2013 has provided <filesystem>, but all the names are given in namespace std. It's hard to alias these names into std::experimental,
# //So Nana use nana.filesystem implement instead for VC2013
# define STD_FILESYSTEM_NOT_SUPPORTED
#
# //Nana defines some macros for lack of support of keywords
# define _ALLOW_KEYWORD_MACROS
@ -64,8 +65,6 @@
# define noexcept //no support of noexcept until Visual C++ 2015
# define constexpr //no support of constexpr until Visual C++ 2015 ? const ??
# else
# undef STD_FILESYSTEM_NOT_SUPPORTED
# endif
#elif defined(__GNUC__) && not defined(__clang__)
# if (__GNUC__ == 4 && __GNUC_MINOR__ < 6)
@ -132,9 +131,9 @@
#endif
#elif defined(__GNUC__) // GCC
#include <iosfwd> //Introduces some implement-specific flags of ISO C++ Library
#include <iosfwd> // Introduces some implementation-specific flags of ISO C++ Library
#if defined(__GLIBCPP__) || defined(__GLIBCXX__)
//<codecvt> is a known issue on libstdc++, it works on libc++
//<codecvt> is a known issue on libstdc++, it works on libc++ todo review !
#define STD_CODECVT_NOT_SUPPORTED
//It's a known issue of libstdc++ on MinGW
@ -155,6 +154,8 @@
# if ((__GNUC__ > 5) || ((__GNUC__ == 5) && (__GNUC_MINOR__ >= 3 ) ) )
# undef STD_FILESYSTEM_NOT_SUPPORTED
# else
# define STD_FILESYSTEM_NOT_SUPPORTED
# endif
#if (__GNUC__ == 4)

View File

@ -118,7 +118,7 @@ namespace std {
# undef NANA_USING_STD_EXPERIMENTAL_FILESYSTEM
# define NANA_USING_STD_EXPERIMENTAL_FILESYSTEM
# endif
#endif
#endif // BOOST_FILESYSTEM and NANA_FILESYSTEM
#if NANA_USING_NANA_FILESYSTEM
@ -585,7 +585,7 @@ namespace std
}
#else // not #if NANA_USING_NANA_FILESYSTEM
#else // not #if NANA_USING_NANA_FILESYSTEM and not BOOST_FILESYSTEM, also incomplete STD_FILESYSTEM
//Implements the missing functions for various version of experimental/filesystem
namespace std
{
@ -617,7 +617,7 @@ namespace std
} // namespace filesystem
} // namespace std
#endif //NANA_USING_NANA_FILESYSTEM
#endif // incomplete STD_FILESYSTEM
#include <nana/pop_ignore_diagnostic>
#endif //NANA_FILESYSTEM_HPP

View File

@ -15,8 +15,8 @@
#ifndef NANA_FILESYSTEM_EXT_HPP
#define NANA_FILESYSTEM_EXT_HPP
#include <nana/filesystem/filesystem.hpp>
#include <nana/deploy.hpp>
#include <nana/filesystem/filesystem.hpp>
namespace nana
{

View File

@ -11,12 +11,12 @@
* provide some interface for file management
*/
#include <nana/config.hpp>
#include <nana/filesystem/filesystem_ext.hpp>
#include <vector>
#include <sstream>
#include <string>
#include <nana/config.hpp>
#ifdef _nana_std_put_time
#include <nana/stdc++.hpp>
#else
@ -149,7 +149,7 @@ namespace nana
}
}
#if NANA_USING_NANA_FILESYSTEM
#if NANA_USING_NANA_FILESYSTEM // and BOOST ?
namespace nana_fs = nana::filesystem;
namespace nana