2013-08-08 09:54:33 +00:00
|
|
|
/*=============================================================================
|
2017-07-29 05:20:01 +00:00
|
|
|
Copyright (c) 2011-2017 Bolero MURAKAMI
|
2013-08-08 09:54:33 +00:00
|
|
|
https://github.com/bolero-MURAKAMI/Sprout
|
|
|
|
|
|
|
|
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)
|
|
|
|
=============================================================================*/
|
2013-08-06 04:25:32 +00:00
|
|
|
#ifndef SPROUT_CONFIG_STDLIB_LIBCPP_HPP
|
|
|
|
#define SPROUT_CONFIG_STDLIB_LIBCPP_HPP
|
|
|
|
|
|
|
|
#ifdef _LIBCPP_HAS_NO_VARIADICS
|
|
|
|
# define SPROUT_NO_CXX11_HDR_TUPLE
|
|
|
|
#endif
|
|
|
|
|
2017-09-20 08:11:33 +00:00
|
|
|
#if defined(_LIBCPP_HAS_NO_TEMPLATE_ALIASES)
|
|
|
|
# define SPROUT_NO_CXX11_ALLOCATOR
|
|
|
|
# define SPROUT_NO_CXX11_POINTER_TRAITS
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if __cplusplus < 201103
|
|
|
|
# define SPROUT_NO_CXX11_HDR_CODECVT
|
|
|
|
# define SPROUT_NO_CXX11_HDR_CONDITION_VARIABLE
|
|
|
|
# define SPROUT_NO_CXX11_HDR_INITIALIZER_LIST
|
|
|
|
# define SPROUT_NO_CXX11_HDR_MUTEX
|
|
|
|
# define SPROUT_NO_CXX11_HDR_RANDOM
|
|
|
|
# define SPROUT_NO_CXX11_HDR_RATIO
|
|
|
|
# define SPROUT_NO_CXX11_HDR_REGEX
|
|
|
|
# define SPROUT_NO_CXX11_HDR_SYSTEM_ERROR
|
|
|
|
# define SPROUT_NO_CXX11_HDR_THREAD
|
|
|
|
# define SPROUT_NO_CXX11_HDR_TUPLE
|
|
|
|
# define SPROUT_NO_CXX11_HDR_TYPEINDEX
|
|
|
|
# define SPROUT_NO_CXX11_HDR_UNORDERED_MAP
|
|
|
|
# define SPROUT_NO_CXX11_HDR_UNORDERED_SET
|
|
|
|
# define SPROUT_NO_CXX11_NUMERIC_LIMITS
|
|
|
|
# define SPROUT_NO_CXX11_ALLOCATOR
|
|
|
|
# define SPROUT_NO_CXX11_POINTER_TRAITS
|
|
|
|
# define SPROUT_NO_CXX11_SMART_PTR
|
|
|
|
# define SPROUT_NO_CXX11_HDR_FUNCTIONAL
|
|
|
|
# define SPROUT_NO_CXX11_STD_ALIGN
|
|
|
|
# define SPROUT_NO_CXX11_ADDRESSOF
|
|
|
|
# define SPROUT_NO_CXX11_HDR_ATOMIC
|
|
|
|
# define SPROUT_NO_CXX11_ATOMIC_SMART_PTR
|
|
|
|
# define SPROUT_NO_CXX11_HDR_CHRONO
|
|
|
|
# define SPROUT_NO_CXX11_HDR_TYPE_TRAITS
|
|
|
|
# define SPROUT_NO_CXX11_HDR_FUTURE
|
|
|
|
#elif _LIBCPP_VERSION < 3700
|
|
|
|
# define SPROUT_NO_CXX11_HDR_ATOMIC
|
|
|
|
# define SPROUT_NO_CXX11_ATOMIC_SMART_PTR
|
|
|
|
# define SPROUT_NO_CXX11_HDR_CHRONO
|
|
|
|
# define SPROUT_NO_CXX11_HDR_TYPE_TRAITS
|
|
|
|
# define SPROUT_NO_CXX11_HDR_FUTURE
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if _LIBCPP_VERSION < 3700
|
|
|
|
# define SPROUT_NO_STD_MESSAGES
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if (_LIBCPP_VERSION < 3700) || (__cplusplus <= 201402L)
|
|
|
|
# define SPROUT_NO_CXX14_STD_EXCHANGE
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if (_LIBCPP_VERSION < 3700) || (__cplusplus <= 201402L)
|
|
|
|
# define SPROUT_NO_CXX17_STD_INVOKE
|
|
|
|
#endif
|
|
|
|
#if (_LIBCPP_VERSION < 4000) || (__cplusplus <= 201402L)
|
|
|
|
# define SPROUT_NO_CXX17_STD_APPLY
|
|
|
|
#endif
|
|
|
|
#if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
|
|
|
|
# define SPROUT_NO_AUTO_PTR
|
|
|
|
#endif
|
|
|
|
#if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE)
|
|
|
|
# define SPROUT_NO_CXX98_RANDOM_SHUFFLE
|
|
|
|
#endif
|
|
|
|
#if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_BINDERS)
|
|
|
|
# define SPROUT_NO_CXX98_BINDERS
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if (_LIBCPP_VERSION <= 1101) && !defined(SPROUT_NO_CXX11_THREAD_LOCAL)
|
|
|
|
# define SPROUT_NO_CXX11_THREAD_LOCAL
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined(__has_include)
|
|
|
|
#if !__has_include(<shared_mutex>)
|
|
|
|
# define SPROUT_NO_CXX14_HDR_SHARED_MUTEX
|
|
|
|
#elif __cplusplus <= 201103
|
|
|
|
# define SPROUT_NO_CXX14_HDR_SHARED_MUTEX
|
|
|
|
#endif
|
|
|
|
#elif __cplusplus < 201402
|
|
|
|
# define SPROUT_NO_CXX14_HDR_SHARED_MUTEX
|
|
|
|
#endif
|
2013-08-06 04:25:32 +00:00
|
|
|
|
|
|
|
#include <utility>
|
2013-08-06 15:15:09 +00:00
|
|
|
#if defined(_LIBCPP_VERSION) && (_LIBCPP_VERSION <= 1001)
|
2013-08-06 04:25:32 +00:00
|
|
|
# define SPROUT_NO_CXX11_CHAR_TRAITS
|
2013-08-06 15:15:09 +00:00
|
|
|
# define SPROUT_NO_CXX11_NUMERIC_LIMITS
|
2013-08-06 04:25:32 +00:00
|
|
|
#endif
|
|
|
|
|
2013-08-23 13:38:40 +00:00
|
|
|
#define SPROUT_NO_CXX14_INITIALIZER_LIST
|
|
|
|
|
2013-08-06 04:25:32 +00:00
|
|
|
#endif // #ifndef SPROUT_CONFIG_STDLIB_LIBCPP_HPP
|