2013-08-08 09:54:33 +00:00
|
|
|
/*=============================================================================
|
2015-01-10 10:13:57 +00:00
|
|
|
Copyright (c) 2011-2015 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)
|
|
|
|
=============================================================================*/
|
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
|
2015-12-06 05:34:37 +00:00
|
|
|
# if defined(SPROUT_NO_CXX11_CONSTEXPR) && !defined(SPROUT_CONFIG_FORCE_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
|
2015-12-06 05:34:37 +00:00
|
|
|
# if defined(SPROUT_NO_CXX14_CONSTEXPR) && !defined(SPROUT_CONFIG_FORCE_CXX14_CONSTEXPR)
|
2013-06-29 04:27:11 +00:00
|
|
|
# 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
|
2015-12-06 05:34:37 +00:00
|
|
|
# if defined(SPROUT_NO_CXX11_DEFAULTED_FUNCTIONS) && !defined(SPROUT_CONFIG_FORCE_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
|
2015-12-06 05:34:37 +00:00
|
|
|
# if defined(SPROUT_NO_CXX11_DELETED_FUNCTIONS) && !defined(SPROUT_CONFIG_FORCE_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
|
2015-12-06 05:34:37 +00:00
|
|
|
# if defined(SPROUT_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) && !defined(SPROUT_CONFIG_FORCE_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
|
2015-12-06 05:34:37 +00:00
|
|
|
# if defined(SPROUT_NO_CXX11_NOEXCEPT) && !defined(SPROUT_CONFIG_FORCE_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
|
2015-12-06 05:34:37 +00:00
|
|
|
# if defined(SPROUT_NO_CXX11_TEMPLATE_ALIASES) && !defined(SPROUT_CONFIG_FORCE_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
|
2015-12-06 05:34:37 +00:00
|
|
|
# if defined(SPROUT_NO_CXX11_USER_DEFINED_LITERALS) && !defined(SPROUT_CONFIG_FORCE_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
|
2015-12-06 05:34:37 +00:00
|
|
|
# if defined(SPROUT_NO_CXX11_DELEGATING_CONSTRUCTORS) && !defined(SPROUT_CONFIG_FORCE_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
|
2015-12-06 05:34:37 +00:00
|
|
|
# if defined(SPROUT_NO_CXX11_UNICODE_LITERALS) && !defined(SPROUT_CONFIG_FORCE_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
|
|
|
|
|
2014-01-06 13:45:41 +00:00
|
|
|
//
|
|
|
|
// SPROUT_CONFIG_DISABLE_VARIABLE_TEMPLATES
|
|
|
|
//
|
|
|
|
#ifndef SPROUT_CONFIG_DISABLE_VARIABLE_TEMPLATES
|
2015-12-06 05:34:37 +00:00
|
|
|
# if defined(SPROUT_NO_CXX14_VARIABLE_TEMPLATES) && !defined(SPROUT_CONFIG_FORCE_VARIABLE_TEMPLATES)
|
2014-01-06 13:45:41 +00:00
|
|
|
# define SPROUT_CONFIG_DISABLE_VARIABLE_TEMPLATES
|
|
|
|
# endif // #ifdef SPROUT_NO_CXX14_VARIABLE_TEMPLATES
|
|
|
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_VARIABLE_TEMPLATES
|
|
|
|
|
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
|
|
|
|
2014-03-19 10:50:00 +00:00
|
|
|
//
|
|
|
|
// SPROUT_CONFIG_DISABLE_BUILTIN_COPYSIGN_FUNCTION
|
|
|
|
//
|
|
|
|
#ifndef SPROUT_CONFIG_DISABLE_BUILTIN_COPYSIGN_FUNCTION
|
|
|
|
# ifndef SPROUT_HAS_CONSTEXPR_COPYSIGN_FUNCTION
|
|
|
|
# define SPROUT_CONFIG_DISABLE_BUILTIN_COPYSIGN_FUNCTION
|
|
|
|
# endif // #ifdef SPROUT_HAS_CONSTEXPR_COPYSIGN_FUNCTION
|
|
|
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_BUILTIN_COPYSIGN_FUNCTION
|
|
|
|
|
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
|