Blame view

3rdparty/boost_1_81_0/boost/dll/config.hpp 2.43 KB
598bfd3f   Hu Chunming   提交_GLIBCXX_USE_CX...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
  // Copyright Antony Polukhin, 2018-2022.
  //
  // Distributed under the Boost Software License, Version 1.0.
  // (See accompanying file LICENSE_1_0.txt
  // or copy at http://www.boost.org/LICENSE_1_0.txt)
  
  /// \file boost/dll/config.hpp
  /// \brief Imports filesystem, error_code, errc, system_error, make_error_code from Boost or C++17 into `boost::dll::fs` namespace.
  
  #ifndef BOOST_DLL_DETAIL_CONFIG_HPP
  #define BOOST_DLL_DETAIL_CONFIG_HPP
  
  #include <boost/config.hpp>
  #ifdef BOOST_HAS_PRAGMA_ONCE
  #   pragma once
  #endif
  
  #ifdef BOOST_DLL_DOXYGEN
  /// Define this macro to make Boost.DLL use C++17's std::filesystem::path, std::system_error and std::error_code.
  #define BOOST_DLL_USE_STD_FS BOOST_DLL_USE_STD_FS
  
  /// This namespace contains aliases to the Boost or C++17 classes. Aliases are configured using BOOST_DLL_USE_STD_FS macro.
  namespace boost { namespace dll { namespace fs {
  
  /// Alias to `std::filesystem::path` if \forcedmacrolink{BOOST_DLL_USE_STD_FS} is defined by user.
  /// Alias to `boost::filesystem::path` otherwise.
  using path = std::conditional_t<BOOST_DLL_USE_STD_FS, std::filesystem::path, boost::filesystem::path>;
  
  /// Alias to `std::error_code` if \forcedmacrolink{BOOST_DLL_USE_STD_FS} is defined by user.
  /// boost::system::error_code otherwise.
  using error_code = std::conditional_t<BOOST_DLL_USE_STD_FS, std::error_code, boost::system::error_code>;
  
  /// Alias to `std::system_error` if \forcedmacrolink{BOOST_DLL_USE_STD_FS} is defined by user.
  /// Alias to `boost::system::system_error` otherwise.
  using system_error = std::conditional_t<BOOST_DLL_USE_STD_FS, std::system_error, boost::system::system_error>;
  
  }}}
  
  #endif
  
  #ifdef BOOST_DLL_USE_STD_FS
  #include <filesystem>
  #include <system_error>
  
  namespace boost { namespace dll { namespace fs {
  
  using namespace std::filesystem;
  
  using std::error_code;
  using std::system_error;
  using std::make_error_code;
  using std::errc;
  using std::system_category;
  
  }}}
  
  #else // BOOST_DLL_USE_STD_FS
  
  #include <boost/filesystem/path.hpp>
  #include <boost/filesystem/operations.hpp>
  #include <boost/system/error_code.hpp>
  #include <boost/system/system_error.hpp>
  
  namespace boost { namespace dll { namespace fs {
  
  using namespace boost::filesystem;
  
  using boost::system::error_code;
  using boost::system::system_error;
  using boost::system::errc::make_error_code;
  namespace errc = boost::system::errc;
  using boost::system::system_category;
  
  }}}
  
  #endif // BOOST_DLL_USE_STD_FS
  
  #endif // BOOST_DLL_DETAIL_PUSH_OPTIONS_HPP