BVB Source Codes

mars Show config.hpp Source code

Return Download mars: download config.hpp Source code - Download mars Source code - Type:.hpp
  1. //  boost/chrono/config.hpp  -------------------------------------------------//
  2.  
  3. //  Copyright Beman Dawes 2003, 2006, 2008
  4. //  Copyright 2009-2011 Vicente J. Botet Escriba
  5. //  Copyright (c) Microsoft Corporation 2014
  6.  
  7. //  Distributed under the Boost Software License, Version 1.0. (See accompanying
  8. //  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  9.  
  10. //  See http://www.boost.org/libs/chrono for documentation.
  11.  
  12. #ifndef BOOST_CHRONO_CONFIG_HPP
  13. #define BOOST_CHRONO_CONFIG_HPP
  14.  
  15. #include <boost/config.hpp>
  16. #include <boost/predef.h>
  17.  
  18. #if !defined BOOST_CHRONO_VERSION
  19. #define BOOST_CHRONO_VERSION 1
  20. #else
  21. #if BOOST_CHRONO_VERSION!=1  && BOOST_CHRONO_VERSION!=2
  22. #error "BOOST_CHRONO_VERSION must be 1 or 2"
  23. #endif
  24. #endif
  25.  
  26. #if defined(BOOST_CHRONO_SOURCE) && !defined(BOOST_USE_WINDOWS_H)
  27. #define BOOST_USE_WINDOWS_H
  28. #endif
  29.  
  30. #if ! defined BOOST_CHRONO_PROVIDES_DATE_IO_FOR_SYSTEM_CLOCK_TIME_POINT \
  31.     && ! defined BOOST_CHRONO_DONT_PROVIDE_DATE_IO_FOR_SYSTEM_CLOCK_TIME_POINT
  32.  
  33. # define BOOST_CHRONO_PROVIDES_DATE_IO_FOR_SYSTEM_CLOCK_TIME_POINT
  34.  
  35. #endif
  36.  
  37. //  BOOST_CHRONO_POSIX_API, BOOST_CHRONO_MAC_API, or BOOST_CHRONO_WINDOWS_API
  38. //  can be defined by the user to specify which API should be used
  39.  
  40. #if defined(BOOST_CHRONO_WINDOWS_API)
  41. # warning Boost.Chrono will use the Windows API
  42. #elif defined(BOOST_CHRONO_MAC_API)
  43. # warning Boost.Chrono will use the Mac API
  44. #elif defined(BOOST_CHRONO_POSIX_API)
  45. # warning Boost.Chrono will use the POSIX API
  46. #endif
  47.  
  48. # if defined( BOOST_CHRONO_WINDOWS_API ) && defined( BOOST_CHRONO_POSIX_API )
  49. #   error both BOOST_CHRONO_WINDOWS_API and BOOST_CHRONO_POSIX_API are defined
  50. # elif defined( BOOST_CHRONO_WINDOWS_API ) && defined( BOOST_CHRONO_MAC_API )
  51. #   error both BOOST_CHRONO_WINDOWS_API and BOOST_CHRONO_MAC_API are defined
  52. # elif defined( BOOST_CHRONO_MAC_API ) && defined( BOOST_CHRONO_POSIX_API )
  53. #   error both BOOST_CHRONO_MAC_API and BOOST_CHRONO_POSIX_API are defined
  54. # elif !defined( BOOST_CHRONO_WINDOWS_API ) && !defined( BOOST_CHRONO_MAC_API ) && !defined( BOOST_CHRONO_POSIX_API )
  55. #   if (defined(_WIN32) || defined(__WIN32__) || defined(WIN32))
  56. #     define BOOST_CHRONO_WINDOWS_API
  57. #   elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
  58. #     define BOOST_CHRONO_MAC_API
  59. #   else
  60. #     define BOOST_CHRONO_POSIX_API
  61. #   endif
  62. # endif
  63.  
  64. # if defined( BOOST_CHRONO_WINDOWS_API )
  65. #   ifndef UNDER_CE
  66. #     define BOOST_CHRONO_HAS_PROCESS_CLOCKS
  67. #   endif
  68. #   define BOOST_CHRONO_HAS_CLOCK_STEADY
  69. #   if BOOST_PLAT_WINDOWS_DESKTOP
  70. #     define BOOST_CHRONO_HAS_THREAD_CLOCK
  71. #   endif
  72. #   define BOOST_CHRONO_THREAD_CLOCK_IS_STEADY true
  73. # endif
  74.  
  75. # if defined( BOOST_CHRONO_MAC_API )
  76. #   define BOOST_CHRONO_HAS_PROCESS_CLOCKS
  77. #   define BOOST_CHRONO_HAS_CLOCK_STEADY
  78. #   define BOOST_CHRONO_HAS_THREAD_CLOCK
  79. #   define BOOST_CHRONO_THREAD_CLOCK_IS_STEADY true
  80. # endif
  81.  
  82. # if defined( BOOST_CHRONO_POSIX_API )
  83. #   define BOOST_CHRONO_HAS_PROCESS_CLOCKS
  84. #   include <time.h>  //to check for CLOCK_REALTIME and CLOCK_MONOTONIC and _POSIX_THREAD_CPUTIME
  85. #   if defined(CLOCK_MONOTONIC)
  86. #      define BOOST_CHRONO_HAS_CLOCK_STEADY
  87. #   endif
  88. #   if defined(_POSIX_THREAD_CPUTIME) && !defined(BOOST_DISABLE_THREADS)
  89. #     define BOOST_CHRONO_HAS_THREAD_CLOCK
  90. #     define BOOST_CHRONO_THREAD_CLOCK_IS_STEADY true
  91. #   endif
  92. #   if defined(CLOCK_THREAD_CPUTIME_ID) && !defined(BOOST_DISABLE_THREADS)
  93. #     define BOOST_CHRONO_HAS_THREAD_CLOCK
  94. #     define BOOST_CHRONO_THREAD_CLOCK_IS_STEADY true
  95. #   endif
  96. #   if defined(sun) || defined(__sun)
  97. #     undef BOOST_CHRONO_HAS_THREAD_CLOCK
  98. #     undef BOOST_CHRONO_THREAD_CLOCK_IS_STEADY
  99. #   endif
  100. #   if (defined(__HP_aCC) || defined(__GNUC__)) && defined(__hpux)
  101. #     undef BOOST_CHRONO_HAS_THREAD_CLOCK
  102. #     undef BOOST_CHRONO_THREAD_CLOCK_IS_STEADY
  103. #   endif
  104. #   if defined(__VXWORKS__)
  105. #     undef BOOST_CHRONO_HAS_PROCESS_CLOCKS
  106. #   endif
  107. # endif
  108.  
  109. #if defined(BOOST_CHRONO_THREAD_DISABLED) && defined(BOOST_CHRONO_HAS_THREAD_CLOCK)
  110. #undef BOOST_CHRONO_HAS_THREAD_CLOCK
  111. #undef BOOST_CHRONO_THREAD_CLOCK_IS_STEADY
  112. #endif
  113.  
  114. // unicode support  ------------------------------//
  115.  
  116. #if defined(BOOST_NO_CXX11_UNICODE_LITERALS) || defined(BOOST_NO_CXX11_CHAR16_T) || defined(BOOST_NO_CXX11_CHAR32_T)
  117. //~ #define BOOST_CHRONO_HAS_UNICODE_SUPPORT
  118. #else
  119. #define BOOST_CHRONO_HAS_UNICODE_SUPPORT 1
  120. #endif
  121.  
  122. #ifndef BOOST_CHRONO_LIB_CONSTEXPR
  123. #if defined( BOOST_NO_CXX11_NUMERIC_LIMITS )
  124. #define BOOST_CHRONO_LIB_CONSTEXPR
  125. #elif defined(_LIBCPP_VERSION) &&  !defined(_LIBCPP_CONSTEXPR)
  126.   #define BOOST_CHRONO_LIB_CONSTEXPR
  127. #else
  128.   #define BOOST_CHRONO_LIB_CONSTEXPR BOOST_CONSTEXPR
  129. #endif
  130. #endif
  131.  
  132. #if defined( BOOST_NO_CXX11_NUMERIC_LIMITS )
  133. #  define BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW throw()
  134. #else
  135. #ifdef BOOST_NO_CXX11_NOEXCEPT
  136. #  define BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW throw()
  137. #else
  138. #  define BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW noexcept
  139. #endif
  140. #endif
  141.  
  142. #if defined BOOST_CHRONO_PROVIDE_HYBRID_ERROR_HANDLING \
  143.  && defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING
  144. #error "BOOST_CHRONO_PROVIDE_HYBRID_ERROR_HANDLING && BOOST_CHRONO_PROVIDE_HYBRID_ERROR_HANDLING defined"
  145. #endif
  146.  
  147. #if defined BOOST_CHRONO_PROVIDES_DEPRECATED_IO_SINCE_V2_0_0 \
  148.  && defined BOOST_CHRONO_DONT_PROVIDES_DEPRECATED_IO_SINCE_V2_0_0
  149. #error "BOOST_CHRONO_PROVIDES_DEPRECATED_IO_SINCE_V2_0_0 && BOOST_CHRONO_DONT_PROVIDES_DEPRECATED_IO_SINCE_V2_0_0 defined"
  150. #endif
  151.  
  152. #if ! defined BOOST_CHRONO_PROVIDE_HYBRID_ERROR_HANDLING \
  153.  && ! defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING
  154. #define BOOST_CHRONO_PROVIDE_HYBRID_ERROR_HANDLING
  155. #endif
  156.  
  157. #if (BOOST_CHRONO_VERSION == 2)
  158. #if ! defined BOOST_CHRONO_PROVIDES_DEPRECATED_IO_SINCE_V2_0_0 \
  159.  && ! defined BOOST_CHRONO_DONT_PROVIDES_DEPRECATED_IO_SINCE_V2_0_0
  160. #define BOOST_CHRONO_DONT_PROVIDES_DEPRECATED_IO_SINCE_V2_0_0
  161. #endif
  162. #endif
  163.  
  164. #ifdef BOOST_CHRONO_HEADER_ONLY
  165. #define BOOST_CHRONO_INLINE inline
  166. #define BOOST_CHRONO_STATIC inline
  167. #define BOOST_CHRONO_DECL
  168.  
  169. #else
  170. #define BOOST_CHRONO_INLINE
  171. #define BOOST_CHRONO_STATIC static
  172.  
  173. //  enable dynamic linking on Windows  ---------------------------------------//
  174.  
  175. // we need to import/export our code only if the user has specifically
  176. // asked for it by defining either BOOST_ALL_DYN_LINK if they want all boost
  177. // libraries to be dynamically linked, or BOOST_CHRONO_DYN_LINK
  178. // if they want just this one to be dynamically liked:
  179. #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_CHRONO_DYN_LINK)
  180. // export if this is our own source, otherwise import:
  181. #ifdef BOOST_CHRONO_SOURCE
  182. # define BOOST_CHRONO_DECL BOOST_SYMBOL_EXPORT
  183. #else
  184. # define BOOST_CHRONO_DECL BOOST_SYMBOL_IMPORT
  185. #endif  // BOOST_CHRONO_SOURCE
  186. #endif  // DYN_LINK
  187. //
  188. // if BOOST_CHRONO_DECL isn't defined yet define it now:
  189. #ifndef BOOST_CHRONO_DECL
  190. #define BOOST_CHRONO_DECL
  191. #endif
  192.  
  193.  
  194.  
  195. //  enable automatic library variant selection  ------------------------------//
  196.  
  197. #if !defined(BOOST_CHRONO_SOURCE) && !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_CHRONO_NO_LIB)
  198. //
  199. // Set the name of our library; this will get undef'ed by auto_link.hpp
  200. // once it's done with it:
  201. //
  202. #define BOOST_LIB_NAME mars_boost_chrono
  203. //
  204. // If we're importing code from a dll, then tell auto_link.hpp about it:
  205. //
  206. #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_CHRONO_DYN_LINK)
  207. #  define BOOST_DYN_LINK
  208. #endif
  209. //
  210. // And include the header that does the work:
  211. //
  212. #include <boost/config/auto_link.hpp>
  213. #endif  // auto-linking disabled
  214. #endif // BOOST_CHRONO_HEADER_ONLY
  215. #endif // BOOST_CHRONO_CONFIG_HPP
  216.  
  217.  
downloadconfig.hpp Source code - Download mars Source code
Related Source Codes/Software:
Hero - Elegant transition library for iOS & tvOS 2017-06-09
deep-photo-styletransfer - Code and data for paper "Deep Photo Style Transfer... 2017-06-09
mastodon - A GNU Social-compatible microblogging server ... 2017-06-09
plyr - A simple HTML5, YouTube and Vimeo player ... 2017-06-08
prepack - Prepack is a partial evaluator for JavaScript. Pre... 2017-06-08
Public-APIs - 2017-06-09
lottie-ios - An iOS library to natively render After Effects ve... 2017-06-09
Awesome-Hacking - A collection of various awesome lists for hackers,... 2017-06-09
algorithms - Minimal examples of data structures and algorithms... 2017-06-10
lectures - Oxford Deep NLP 2017 course 2017-06-10
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top