2013-08-08 09:54:33 +00:00
|
|
|
/*=============================================================================
|
|
|
|
Copyright (c) 2011-2013 Bolero MURAKAMI
|
|
|
|
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)
|
|
|
|
=============================================================================*/
|
2012-04-13 07:00:30 +00:00
|
|
|
#ifndef SPROUT_CONFIG_AUTO_CONFIG_HPP
|
|
|
|
#define SPROUT_CONFIG_AUTO_CONFIG_HPP
|
|
|
|
|
|
|
|
#include <sprout/config/compiler.hpp>
|
2013-08-06 04:25:32 +00:00
|
|
|
#include <sprout/config/stdlib.hpp>
|
2012-04-13 07:00:30 +00:00
|
|
|
|
|
|
|
//
|
|
|
|
// SPROUT_CONFIG_DISABLE_CONSTEXPR
|
|
|
|
//
|
|
|
|
#ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
2013-06-29 04:27:11 +00:00
|
|
|
# ifdef SPROUT_NO_CXX11_CONSTEXPR
|
2012-04-13 07:00:30 +00:00
|
|
|
# define SPROUT_CONFIG_DISABLE_CONSTEXPR
|
2013-06-29 04:27:11 +00:00
|
|
|
# endif // #ifdef SPROUT_NO_CXX11_CONSTEXPR
|
|
|
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
|
|
|
|
|
|
|
//
|
|
|
|
// SPROUT_CONFIG_DISABLE_CXX14_CONSTEXPR
|
|
|
|
//
|
|
|
|
#ifndef SPROUT_CONFIG_DISABLE_CXX14_CONSTEXPR
|
|
|
|
# ifdef SPROUT_NO_CXX14_CONSTEXPR
|
|
|
|
# define SPROUT_CONFIG_DISABLE_CXX14_CONSTEXPR
|
|
|
|
# endif // #ifdef SPROUT_NO_CXX14_CONSTEXPR
|
2012-04-13 07:00:30 +00:00
|
|
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
|
|
|
|
2012-12-17 14:10:23 +00:00
|
|
|
//
|
|
|
|
// SPROUT_CONFIG_DISABLE_DEFAULTED_FUNCTIONS
|
|
|
|
//
|
|
|
|
#ifndef SPROUT_CONFIG_DISABLE_DEFAULTED_FUNCTIONS
|
2013-06-29 04:27:11 +00:00
|
|
|
# ifdef SPROUT_NO_CXX11_DEFAULTED_FUNCTIONS
|
2012-12-17 14:10:23 +00:00
|
|
|
# define SPROUT_CONFIG_DISABLE_DEFAULTED_FUNCTIONS
|
2013-06-29 04:27:11 +00:00
|
|
|
# endif // #ifdef SPROUT_NO_CXX11_CONSTEXPR
|
2012-12-17 14:10:23 +00:00
|
|
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_DEFAULTED_FUNCTIONS
|
|
|
|
|
|
|
|
//
|
|
|
|
// SPROUT_CONFIG_DISABLE_DELETED_FUNCTIONS
|
|
|
|
//
|
|
|
|
#ifndef SPROUT_CONFIG_DISABLE_DELETED_FUNCTIONS
|
2013-06-29 04:27:11 +00:00
|
|
|
# ifdef SPROUT_NO_CXX11_DELETED_FUNCTIONS
|
2012-12-17 14:10:23 +00:00
|
|
|
# define SPROUT_CONFIG_DISABLE_DELETED_FUNCTIONS
|
2013-06-29 04:27:11 +00:00
|
|
|
# endif // #ifdef SPROUT_NO_CXX11_CONSTEXPR
|
2012-12-17 14:10:23 +00:00
|
|
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_DELETED_FUNCTIONS
|
|
|
|
|
2013-02-18 17:49:10 +00:00
|
|
|
//
|
|
|
|
// SPROUT_CONFIG_DISABLE_EXPLICIT_CONVERSION_OPERATORS
|
|
|
|
//
|
|
|
|
#ifndef SPROUT_CONFIG_DISABLE_EXPLICIT_CONVERSION_OPERATORS
|
2013-06-29 04:27:11 +00:00
|
|
|
# ifdef SPROUT_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
2013-02-18 17:49:10 +00:00
|
|
|
# define SPROUT_CONFIG_DISABLE_EXPLICIT_CONVERSION_OPERATORS
|
2013-06-29 04:27:11 +00:00
|
|
|
# endif // #ifdef SPROUT_NO_CXX11_CONSTEXPR
|
2013-02-18 17:49:10 +00:00
|
|
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_EXPLICIT_CONVERSION_OPERATORS
|
|
|
|
|
2012-04-13 07:00:30 +00:00
|
|
|
//
|
|
|
|
// SPROUT_CONFIG_DISABLE_NOEXCEPT
|
|
|
|
//
|
|
|
|
#ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
2013-06-29 04:27:11 +00:00
|
|
|
# ifdef SPROUT_NO_CXX11_NOEXCEPT
|
2012-04-13 07:00:30 +00:00
|
|
|
# define SPROUT_CONFIG_DISABLE_NOEXCEPT
|
2013-06-29 04:27:11 +00:00
|
|
|
# endif // #ifdef SPROUT_NO_CXX11_NOEXCEPT
|
2012-04-13 07:00:30 +00:00
|
|
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
|
|
|
|
|
|
|
//
|
|
|
|
// SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
|
|
|
//
|
|
|
|
#ifndef SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
2013-06-29 04:27:11 +00:00
|
|
|
# ifdef SPROUT_NO_CXX11_TEMPLATE_ALIASES
|
2012-04-13 07:00:30 +00:00
|
|
|
# define SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
2013-06-29 04:27:11 +00:00
|
|
|
# endif // #ifdef SPROUT_NO_CXX11_TEMPLATE_ALIASES
|
2012-04-13 07:00:30 +00:00
|
|
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
|
|
|
|
|
|
|
//
|
|
|
|
// SPROUT_USE_USER_DEFINED_LITERALS
|
|
|
|
//
|
|
|
|
#ifndef SPROUT_USE_USER_DEFINED_LITERALS
|
2013-06-29 04:27:11 +00:00
|
|
|
# ifdef SPROUT_NO_CXX11_USER_DEFINED_LITERALS
|
2012-04-13 07:00:30 +00:00
|
|
|
# define SPROUT_CONFIG_DISABLE_USER_DEFINED_LITERALS
|
2013-06-29 04:27:11 +00:00
|
|
|
# endif // #ifdef SPROUT_NO_CXX11_USER_DEFINED_LITERALS
|
2012-04-13 07:00:30 +00:00
|
|
|
#endif // #ifndef SPROUT_USE_USER_DEFINED_LITERALS
|
|
|
|
|
|
|
|
//
|
|
|
|
// SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
|
|
|
//
|
|
|
|
#ifndef SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
2013-06-29 04:27:11 +00:00
|
|
|
# ifdef SPROUT_NO_CXX11_DELEGATING_CONSTRUCTORS
|
2012-04-13 07:00:30 +00:00
|
|
|
# define SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
2013-06-29 04:27:11 +00:00
|
|
|
# endif // #ifdef SPROUT_NO_CXX11_DELEGATING_CONSTRUCTORS
|
2012-04-13 07:00:30 +00:00
|
|
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
|
|
|
|
2013-02-18 17:49:10 +00:00
|
|
|
//
|
|
|
|
// SPROUT_CONFIG_DISABLE_UNICODE_LITERALS
|
|
|
|
//
|
|
|
|
#ifndef SPROUT_CONFIG_DISABLE_UNICODE_LITERALS
|
2013-06-29 04:27:11 +00:00
|
|
|
# ifdef SPROUT_NO_CXX11_UNICODE_LITERALS
|
2013-02-18 17:49:10 +00:00
|
|
|
# define SPROUT_CONFIG_DISABLE_UNICODE_LITERALS
|
2013-06-29 04:27:11 +00:00
|
|
|
# endif // #ifdef SPROUT_NO_CXX11_UNICODE_LITERALS
|
2013-02-18 17:49:10 +00:00
|
|
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_UNICODE_LITERALS
|
|
|
|
|
2012-04-13 07:00:30 +00:00
|
|
|
//
|
|
|
|
// SPROUT_CONFIG_USE_SSCRISK_CEL
|
|
|
|
//
|
|
|
|
|
2012-05-04 03:09:06 +00:00
|
|
|
//
|
|
|
|
// SPROUT_CONFIG_DISABLE_BUILTIN_CMATH_FUNCTION
|
|
|
|
//
|
|
|
|
#ifndef SPROUT_CONFIG_DISABLE_BUILTIN_CMATH_FUNCTION
|
|
|
|
# ifndef SPROUT_HAS_CONSTEXPR_CMATH_FUNCTION
|
|
|
|
# define SPROUT_CONFIG_DISABLE_BUILTIN_CMATH_FUNCTION
|
|
|
|
# endif // #ifdef SPROUT_HAS_CONSTEXPR_CMATH_FUNCTION
|
2012-05-14 06:42:54 +00:00
|
|
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_BUILTIN_CMATH_FUNCTION
|
2012-05-04 03:09:06 +00:00
|
|
|
|
2012-06-22 13:56:25 +00:00
|
|
|
//
|
|
|
|
// SPROUT_CONFIG_DISABLE_BUILTIN_BIT_OPERATION
|
|
|
|
//
|
|
|
|
#ifndef SPROUT_CONFIG_DISABLE_BUILTIN_BIT_OPERATION
|
|
|
|
# ifndef SPROUT_HAS_CONSTEXPR_BIT_OPERATION
|
|
|
|
# define SPROUT_CONFIG_DISABLE_BUILTIN_BIT_OPERATION
|
|
|
|
# endif // #ifdef SPROUT_HAS_CONSTEXPR_BIT_OPERATION
|
|
|
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_BUILTIN_BIT_OPERATION
|
|
|
|
|
2012-04-13 07:00:30 +00:00
|
|
|
//
|
|
|
|
// SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
|
|
|
// SPROUT_CONFIG_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
|
|
|
//
|
|
|
|
#ifndef SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
|
|
|
# define SPROUT_CONFIG_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
|
|
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
|
|
|
|
2012-10-22 14:10:11 +00:00
|
|
|
#include <sprout/config/suffix.hpp>
|
|
|
|
|
2012-04-13 07:00:30 +00:00
|
|
|
#endif // #ifndef SPROUT_CONFIG_AUTO_CONFIG_HPP
|