mirror of
https://github.com/bolero-MURAKAMI/Sprout.git
synced 2025-01-23 20:46:37 +00:00
delete auto_config.hpp
add compiler supports
This commit is contained in:
parent
2fa0ad1fe4
commit
8f818ee63f
29 changed files with 438 additions and 128 deletions
37
README
37
README
|
@ -43,9 +43,12 @@ constexpr 乱数 (Random numbers)
|
|||
sprout/random.hpp
|
||||
sprout/random/unique_seed.hpp
|
||||
|
||||
constexpr 関数オブジェクト (functors)
|
||||
sprout/functional.hpp
|
||||
|
||||
constexpr ハッシュ関数 (Hash functions)
|
||||
sprout/functional/hash.hpp
|
||||
sprout/checksum/sha1.hpp
|
||||
sprout/functional/hash.hpp
|
||||
|
||||
constexpr UUID (UUID)
|
||||
sprout/uuid.hpp
|
||||
|
@ -72,21 +75,39 @@ constexpr レイトレーシング (Ray tracing)
|
|||
|
||||
#define SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||
このマクロが定義されているとき、関数は constexpr 指定されない。
|
||||
コンパイラが constexpr に対応していない場合。
|
||||
コンパイラが constexpr に対応していない場合、これを定義すべき。
|
||||
通常、これはコンパイラに応じて自動的に定義される。
|
||||
(When this macro is defined, the functions are not specified constexpr.
|
||||
If the compiler does not support constexpr.)
|
||||
If the compiler does not support constexpr, should define it.
|
||||
Usually, it defined automatically depending to the compiler.)
|
||||
|
||||
#define SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||
このマクロが定義されているとき、関数は noexcept 修飾されない。
|
||||
コンパイラが noexcept に対応していない場合。
|
||||
コンパイラが noexcept に対応していない場合、これを定義すべき。
|
||||
通常、これはコンパイラに応じて自動的に定義される。
|
||||
(When this macro is defined, the functions are not qualified noexcept.
|
||||
If the compiler does not support noexcept.)
|
||||
If the compiler does not support noexcept, should define it.
|
||||
Usually, it defined automatically depending to the compiler.)
|
||||
|
||||
#define SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||
このマクロが定義されているとき、Template aliases によるエイリアスは定義されない。
|
||||
コンパイラが Template aliases に対応していない場合。
|
||||
コンパイラが Template aliases に対応していない場合、これを定義すべき。
|
||||
通常、これはコンパイラに応じて自動的に定義される。
|
||||
(When this macro is defined, the aliases are not defined by the Template aliases.
|
||||
If the compiler does not support Template aliases.)
|
||||
If the compiler does not support Template aliases, should define it.
|
||||
Usually, it defined automatically depending to the compiler.)
|
||||
|
||||
#define SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
||||
このマクロが定義されているとき、Delegating constructors による実装は行われない。
|
||||
コンパイラが Delegating constructors に対応していない場合、これを定義すべき。
|
||||
通常、これはコンパイラに応じて自動的に定義される。
|
||||
(When this macro is defined, the implementation is not done by Delegating constructors.
|
||||
If the compiler does not support Delegating constructors, should define it.
|
||||
Usually, it defined automatically depending to the compiler.)
|
||||
|
||||
#define SPROUT_CONFIG_DISABLE_AUTO_CONFIG
|
||||
このマクロが定義されているとき、自動的な言語機能の無効化は行われない。
|
||||
(When this macro is defined, not automatically disable language features.)
|
||||
|
||||
#define SPROUT_CONFIG_USE_SSCRISK_CEL
|
||||
このマクロが定義されているとき、実装の詳細として CEL - ConstExpr Library を使用する。
|
||||
|
@ -110,7 +131,7 @@ https://github.com/sscrisk/CEL---ConstExpr-Library
|
|||
|
||||
Bolero MURAKAMI
|
||||
Blog: http://d.hatena.ne.jp/boleros/
|
||||
Twitter: http://twitter.com/#!/bolero_MURAKAMI
|
||||
Twitter: https://twitter.com/#!/bolero_MURAKAMI
|
||||
Mail: contact-lib@boleros.x0.com
|
||||
|
||||
|
||||
|
|
|
@ -1,64 +0,0 @@
|
|||
#ifndef SPROUT_AUTO_CONFIG_HPP
|
||||
#define SPROUT_AUTO_CONFIG_HPP
|
||||
|
||||
#include <boost/config.hpp>
|
||||
|
||||
//
|
||||
// SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||
//
|
||||
#ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||
# ifdef BOOST_NO_CONSTEXPR
|
||||
# if !defined(__GNUC__) \
|
||||
|| defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
# define SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||
# endif
|
||||
# endif // #ifdef BOOST_NO_CONSTEXPR
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||
|
||||
//
|
||||
// SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||
//
|
||||
#ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||
# ifdef BOOST_NO_NOEXCEPT
|
||||
# if !defined(__GNUC__) \
|
||||
|| defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
# define SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||
# endif
|
||||
# endif // #ifdef BOOST_NO_NOEXCEPT
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||
|
||||
//
|
||||
// SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||
//
|
||||
#ifndef SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||
# ifdef BOOST_NO_TEMPLATE_ALIASES
|
||||
# if !defined(__GNUC__) \
|
||||
|| defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
# define SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||
# endif
|
||||
# endif // #ifdef BOOST_NO_TEMPLATE_ALIASES
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||
|
||||
//
|
||||
// SPROUT_USE_USER_DEFINED_LITERALS
|
||||
//
|
||||
|
||||
//
|
||||
// SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
||||
//
|
||||
|
||||
//
|
||||
// SPROUT_CONFIG_USE_SSCRISK_CEL
|
||||
//
|
||||
|
||||
//
|
||||
// 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
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
|
||||
#endif // #ifndef SPROUT_AUTO_CONFIG_HPP
|
|
@ -1,61 +1,6 @@
|
|||
#ifndef SPROUT_CONFIG_HPP
|
||||
#define SPROUT_CONFIG_HPP
|
||||
|
||||
#ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||
# define SPROUT_CONSTEXPR constexpr
|
||||
# define SPROUT_CONSTEXPR_OR_CONST constexpr
|
||||
# define SPROUT_STATIC_CONSTEXPR static constexpr
|
||||
#else // #ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||
# define SPROUT_CONSTEXPR
|
||||
# define SPROUT_CONSTEXPR_OR_CONST const
|
||||
# define SPROUT_STATIC_CONSTEXPR static const
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||
|
||||
#ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||
# define SPROUT_NOEXCEPT noexcept
|
||||
# define SPROUT_NOEXCEPT_EXPR(EXPR) noexcept(EXPR)
|
||||
#else // #ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||
# define SPROUT_NOEXCEPT
|
||||
# define SPROUT_NOEXCEPT_EXPR(EXPR)
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||
|
||||
#ifndef SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||
# define SPROUT_USE_TEMPLATE_ALIASES 1
|
||||
#else // #ifndef SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||
# define SPROUT_USE_TEMPLATE_ALIASES 0
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||
|
||||
#ifndef SPROUT_CONFIG_DISABLE_USER_DEFINED_LITERALS
|
||||
# define SPROUT_USE_USER_DEFINED_LITERALS 1
|
||||
#else // #ifndef SPROUT_CONFIG_DISABLE_USER_DEFINED_LITERALS
|
||||
# define SPROUT_USE_USER_DEFINED_LITERALS 0
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_USER_DEFINED_LITERALS
|
||||
|
||||
#ifndef SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
||||
# define SPROUT_USE_DELEGATING_CONSTRUCTORS 1
|
||||
#else // #ifndef SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
||||
# define SPROUT_USE_DELEGATING_CONSTRUCTORS 0
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
||||
|
||||
#ifndef SPROUT_CONFIG_USE_SSCRISK_CEL
|
||||
# define HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT <sprout/functional/functor.hpp>
|
||||
# define HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT <sprout/algorithm/non_modifying.hpp>
|
||||
# define HDR_ITERATOR_SSCRISK_CEL_OR_SPROUT <sprout/iterator/operation.hpp>
|
||||
# define NS_SSCRISK_CEL_OR_SPROUT sprout
|
||||
#else // #ifndef SPROUT_CONFIG_USE_SSCRISK_CEL
|
||||
# define HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT <sscrisk/cel/functional.hpp>
|
||||
# define HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT <sscrisk/cel/algorithm.hpp>
|
||||
# define HDR_ITERATOR_SSCRISK_CEL_OR_SPROUT <sscrisk/cel/iterator.hpp>
|
||||
# define NS_SSCRISK_CEL_OR_SPROUT sscrisk::cel
|
||||
#endif // #ifndef SPROUT_CONFIG_USE_SSCRISK_CEL
|
||||
|
||||
#ifndef SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
||||
# define SPROUT_USE_INDEX_ITERATOR_IMPLEMENTATION 1
|
||||
#else // #ifndef SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
||||
# ifdef SPROUT_CONFIG_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
||||
# error config conflict: SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION, SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
||||
# endif // #ifndef SPROUT_CONFIG_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
||||
# define SPROUT_USE_INDEX_ITERATOR_IMPLEMENTATION 0
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
||||
#include <sprout/config/config.hpp>
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_HPP
|
||||
|
|
63
sprout/config/auto_config.hpp
Normal file
63
sprout/config/auto_config.hpp
Normal file
|
@ -0,0 +1,63 @@
|
|||
#ifndef SPROUT_CONFIG_AUTO_CONFIG_HPP
|
||||
#define SPROUT_CONFIG_AUTO_CONFIG_HPP
|
||||
|
||||
#include <sprout/config/compiler.hpp>
|
||||
|
||||
//
|
||||
// SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||
//
|
||||
#ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||
# ifdef SPROUT_NO_CONSTEXPR
|
||||
# define SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||
# endif // #ifdef SPROUT_NO_CONSTEXPR
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||
|
||||
//
|
||||
// SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||
//
|
||||
#ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||
# ifdef SPROUT_NO_NOEXCEPT
|
||||
# define SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||
# endif // #ifdef SPROUT_NO_NOEXCEPT
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||
|
||||
//
|
||||
// SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||
//
|
||||
#ifndef SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||
# ifdef SPROUT_NO_TEMPLATE_ALIASES
|
||||
# define SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||
# endif // #ifdef SPROUT_NO_TEMPLATE_ALIASES
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||
|
||||
//
|
||||
// SPROUT_USE_USER_DEFINED_LITERALS
|
||||
//
|
||||
#ifndef SPROUT_USE_USER_DEFINED_LITERALS
|
||||
# ifdef SPROUT_NO_USER_DEFINED_LITERALS
|
||||
# define SPROUT_CONFIG_DISABLE_USER_DEFINED_LITERALS
|
||||
# endif // #ifdef SPROUT_NO_USER_DEFINED_LITERALS
|
||||
#endif // #ifndef SPROUT_USE_USER_DEFINED_LITERALS
|
||||
|
||||
//
|
||||
// SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
||||
//
|
||||
#ifndef SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
||||
# ifdef SPROUT_NO_DELEGATING_CONSTRUCTORS
|
||||
# define SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
||||
# endif // #ifdef SPROUT_NO_DELEGATING_CONSTRUCTORS
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
||||
|
||||
//
|
||||
// SPROUT_CONFIG_USE_SSCRISK_CEL
|
||||
//
|
||||
|
||||
//
|
||||
// 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
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_AUTO_CONFIG_HPP
|
50
sprout/config/compiler.hpp
Normal file
50
sprout/config/compiler.hpp
Normal file
|
@ -0,0 +1,50 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_HPP
|
||||
|
||||
#if defined(__GCCXML__)
|
||||
# include <sprout/config/compiler/gcc_xml.hpp>
|
||||
#elif defined(_CRAYC)
|
||||
# include <sprout/config/compiler/cray.hpp>
|
||||
#elif defined __CUDACC__
|
||||
# include <sprout/config/compiler/nvcc.hpp>
|
||||
#elif defined __COMO__
|
||||
# include <sprout/config/compiler/comeau.hpp>
|
||||
#elif defined(__PATHSCALE__) && (__PATHCC__ >= 4)
|
||||
# include <sprout/config/compiler/pathscale.hpp>
|
||||
#elif defined __clang__
|
||||
# include <sprout/config/compiler/clang.hpp>
|
||||
#elif defined __DMC__
|
||||
# include <sprout/config/compiler/digitalmars.hpp>
|
||||
#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
|
||||
# include <sprout/config/compiler/intel.hpp>
|
||||
# elif defined __GNUC__
|
||||
# include <sprout/config/compiler/gcc.hpp>
|
||||
#elif defined __KCC
|
||||
# include <sprout/config/compiler/kai.hpp>
|
||||
#elif defined __sgi
|
||||
# include <sprout/config/compiler/sgi_mipspro.hpp>
|
||||
#elif defined __DECCXX
|
||||
# include <sprout/config/compiler/compaq_cxx.hpp>
|
||||
#elif defined __ghs
|
||||
# include <sprout/config/compiler/greenhills.hpp>
|
||||
#elif defined __CODEGEARC__
|
||||
# include <sprout/config/compiler/codegear.hpp>
|
||||
#elif defined __BORLANDC__
|
||||
# include <sprout/config/compiler/borland.hpp>
|
||||
#elif defined __MWERKS__
|
||||
# include <sprout/config/compiler/metrowerks.hpp>
|
||||
#elif defined __SUNPRO_CC
|
||||
# include <sprout/config/compiler/sunpro_cc.hpp>
|
||||
#elif defined __HP_aCC
|
||||
# include <sprout/config/compiler/hp_acc.hpp>
|
||||
#elif defined(__MRC__) || defined(__SC__)
|
||||
# include <sprout/config/compiler/mpw.hpp>
|
||||
#elif defined(__IBMCPP__)
|
||||
# include <sprout/config/compiler/vacpp.hpp>
|
||||
#elif defined(__PGI)
|
||||
# include <sprout/config/compiler/pgi.hpp>
|
||||
#elif defined(_MSC_VER)
|
||||
# include <sprout/config/compiler/visualc.hpp>
|
||||
#endif
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_HPP
|
10
sprout/config/compiler/borland.hpp
Normal file
10
sprout/config/compiler/borland.hpp
Normal file
|
@ -0,0 +1,10 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_BORLAND_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_BORLAND_HPP
|
||||
|
||||
#define SPROUT_NO_CONSTEXPR
|
||||
#define SPROUT_NO_NOEXCEPT
|
||||
#define SPROUT_NO_TEMPLATE_ALIASES
|
||||
#define SPROUT_NO_USER_DEFINED_LITERALS
|
||||
#define SPROUT_NO_DELEGATING_CONSTRUCTORS
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_BORLAND_HPP
|
24
sprout/config/compiler/clang.hpp
Normal file
24
sprout/config/compiler/clang.hpp
Normal file
|
@ -0,0 +1,24 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_CLANG_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_CLANG_HPP
|
||||
|
||||
#if !__has_feature(cxx_constexpr)
|
||||
# define SPROUT_NO_CONSTEXPR
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_noexcept)
|
||||
# define SPROUT_NO_NOEXCEPT
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_alias_templates)
|
||||
# define SPROUT_NO_TEMPLATE_ALIASES
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_user_literals)
|
||||
# define SPROUT_NO_USER_DEFINED_LITERALS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_delegating_constructors)
|
||||
# define SPROUT_NO_DELEGATING_CONSTRUCTORS
|
||||
#endif
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_CLANG_HPP
|
10
sprout/config/compiler/codegear.hpp
Normal file
10
sprout/config/compiler/codegear.hpp
Normal file
|
@ -0,0 +1,10 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_CODEGEAR_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_CODEGEAR_HPP
|
||||
|
||||
#define SPROUT_NO_CONSTEXPR
|
||||
#define SPROUT_NO_NOEXCEPT
|
||||
#define SPROUT_NO_TEMPLATE_ALIASES
|
||||
#define SPROUT_NO_USER_DEFINED_LITERALS
|
||||
#define SPROUT_NO_DELEGATING_CONSTRUCTORS
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_CODEGEAR_HPP
|
6
sprout/config/compiler/comeau.hpp
Normal file
6
sprout/config/compiler/comeau.hpp
Normal file
|
@ -0,0 +1,6 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_COMEAU_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_COMEAU_HPP
|
||||
|
||||
#include <sprout/config/compiler/common_edg.hpp>
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_COMEAU_HPP
|
10
sprout/config/compiler/common_edg.hpp
Normal file
10
sprout/config/compiler/common_edg.hpp
Normal file
|
@ -0,0 +1,10 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_COMMON_EDG_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_COMMON_EDG_HPP
|
||||
|
||||
#define SPROUT_NO_CONSTEXPR
|
||||
#define SPROUT_NO_NOEXCEPT
|
||||
#define SPROUT_NO_TEMPLATE_ALIASES
|
||||
#define SPROUT_NO_USER_DEFINED_LITERALS
|
||||
#define SPROUT_NO_DELEGATING_CONSTRUCTORS
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_COMMON_EDG_HPP
|
6
sprout/config/compiler/compaq_cxx.hpp
Normal file
6
sprout/config/compiler/compaq_cxx.hpp
Normal file
|
@ -0,0 +1,6 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_COMPAQ_CXX_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_COMPAQ_CXX_HPP
|
||||
|
||||
#include <sprout/config/compiler/common_edg.hpp>
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_COMPAQ_CXX_HPP
|
6
sprout/config/compiler/cray.hpp
Normal file
6
sprout/config/compiler/cray.hpp
Normal file
|
@ -0,0 +1,6 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_CRAY_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_CRAY_HPP
|
||||
|
||||
#include <sprout/config/compiler/common_edg.hpp>
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_CRAY_HPP
|
10
sprout/config/compiler/digitalmars.hpp
Normal file
10
sprout/config/compiler/digitalmars.hpp
Normal file
|
@ -0,0 +1,10 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_DIGITALMARS_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_DIGITALMARS_HPP
|
||||
|
||||
#define SPROUT_NO_CONSTEXPR
|
||||
#define SPROUT_NO_NOEXCEPT
|
||||
#define SPROUT_NO_TEMPLATE_ALIASES
|
||||
#define SPROUT_NO_USER_DEFINED_LITERALS
|
||||
#define SPROUT_NO_DELEGATING_CONSTRUCTORS
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_DIGITALMARS_HPP
|
24
sprout/config/compiler/gcc.hpp
Normal file
24
sprout/config/compiler/gcc.hpp
Normal file
|
@ -0,0 +1,24 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_GCC_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_GCC_HPP
|
||||
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
# define SPROUT_NO_CONSTEXPR
|
||||
#endif
|
||||
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
# define SPROUT_NO_NOEXCEPT
|
||||
#endif
|
||||
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
# define SPROUT_NO_TEMPLATE_ALIASES
|
||||
#endif
|
||||
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
# define SPROUT_NO_USER_DEFINED_LITERALS
|
||||
#endif
|
||||
|
||||
#if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
# define SPROUT_NO_DELEGATING_CONSTRUCTORS
|
||||
#endif
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_GCC_HPP
|
10
sprout/config/compiler/gcc_xml.hpp
Normal file
10
sprout/config/compiler/gcc_xml.hpp
Normal file
|
@ -0,0 +1,10 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_GCC_XML_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_GCC_XML_HPP
|
||||
|
||||
#define SPROUT_NO_CONSTEXPR
|
||||
#define SPROUT_NO_NOEXCEPT
|
||||
#define SPROUT_NO_TEMPLATE_ALIASES
|
||||
#define SPROUT_NO_USER_DEFINED_LITERALS
|
||||
#define SPROUT_NO_DELEGATING_CONSTRUCTORS
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_GCC_XML_HPP
|
6
sprout/config/compiler/greenhills.hpp
Normal file
6
sprout/config/compiler/greenhills.hpp
Normal file
|
@ -0,0 +1,6 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_GREENHILLS_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_GREENHILLS_HPP
|
||||
|
||||
#include <sprout/config/compiler/common_edg.hpp>
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_GREENHILLS_HPP
|
6
sprout/config/compiler/hp_acc.hpp
Normal file
6
sprout/config/compiler/hp_acc.hpp
Normal file
|
@ -0,0 +1,6 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_HP_ACC_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_HP_ACC_HPP
|
||||
|
||||
#include <sprout/config/compiler/common_edg.hpp>
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_HP_ACC_HPP
|
6
sprout/config/compiler/intel.hpp
Normal file
6
sprout/config/compiler/intel.hpp
Normal file
|
@ -0,0 +1,6 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_INTEL_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_INTEL_HPP
|
||||
|
||||
#include <sprout/config/compiler/common_edg.hpp>
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_INTEL_HPP
|
6
sprout/config/compiler/kai.hpp
Normal file
6
sprout/config/compiler/kai.hpp
Normal file
|
@ -0,0 +1,6 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_KAI_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_KAI_HPP
|
||||
|
||||
#include <sprout/config/compiler/common_edg.hpp>
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_KAI_HPP
|
10
sprout/config/compiler/metrowerks.hpp
Normal file
10
sprout/config/compiler/metrowerks.hpp
Normal file
|
@ -0,0 +1,10 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_METROWERKS_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_METROWERKS_HPP
|
||||
|
||||
#define SPROUT_NO_CONSTEXPR
|
||||
#define SPROUT_NO_NOEXCEPT
|
||||
#define SPROUT_NO_TEMPLATE_ALIASES
|
||||
#define SPROUT_NO_USER_DEFINED_LITERALS
|
||||
#define SPROUT_NO_DELEGATING_CONSTRUCTORS
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_METROWERKS_HPP
|
10
sprout/config/compiler/mpw.hpp
Normal file
10
sprout/config/compiler/mpw.hpp
Normal file
|
@ -0,0 +1,10 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_MPW_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_MPW_HPP
|
||||
|
||||
#define SPROUT_NO_CONSTEXPR
|
||||
#define SPROUT_NO_NOEXCEPT
|
||||
#define SPROUT_NO_TEMPLATE_ALIASES
|
||||
#define SPROUT_NO_USER_DEFINED_LITERALS
|
||||
#define SPROUT_NO_DELEGATING_CONSTRUCTORS
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_MPW_HPP
|
10
sprout/config/compiler/nvcc.hpp
Normal file
10
sprout/config/compiler/nvcc.hpp
Normal file
|
@ -0,0 +1,10 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_NVCC_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_NVCC_HPP
|
||||
|
||||
#if defined(__GNUC__)
|
||||
# include <sprout/config/compiler/gcc.hpp>
|
||||
#elif defined(_MSC_VER)
|
||||
# include <sprout/config/compiler/visualc.hpp>
|
||||
#endif
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_NVCC_HPP
|
12
sprout/config/compiler/pathscale.hpp
Normal file
12
sprout/config/compiler/pathscale.hpp
Normal file
|
@ -0,0 +1,12 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_PATHSCALE_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_PATHSCALE_HPP
|
||||
|
||||
#if __PATHCC__ >= 4
|
||||
# define SPROUT_NO_CONSTEXPR
|
||||
# define SPROUT_NO_NOEXCEPT
|
||||
# define SPROUT_NO_TEMPLATE_ALIASES
|
||||
# define SPROUT_NO_USER_DEFINED_LITERALS
|
||||
# define SPROUT_NO_DELEGATING_CONSTRUCTORS
|
||||
#endif
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_PATHSCALE_HPP
|
10
sprout/config/compiler/pgi.hpp
Normal file
10
sprout/config/compiler/pgi.hpp
Normal file
|
@ -0,0 +1,10 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_PGI_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_PGI_HPP
|
||||
|
||||
#define SPROUT_NO_CONSTEXPR
|
||||
#define SPROUT_NO_NOEXCEPT
|
||||
#define SPROUT_NO_TEMPLATE_ALIASES
|
||||
#define SPROUT_NO_USER_DEFINED_LITERALS
|
||||
#define SPROUT_NO_DELEGATING_CONSTRUCTORS
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_PGI_HPP
|
6
sprout/config/compiler/sgi_mipspro.hpp
Normal file
6
sprout/config/compiler/sgi_mipspro.hpp
Normal file
|
@ -0,0 +1,6 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_SGI_MIPSPRO_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_SGI_MIPSPRO_HPP
|
||||
|
||||
#include <sprout/config/compiler/common_edg.hpp>
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_SGI_MIPSPRO_HPP
|
10
sprout/config/compiler/sunpro_cc.hpp
Normal file
10
sprout/config/compiler/sunpro_cc.hpp
Normal file
|
@ -0,0 +1,10 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_SUNPRO_CC_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_SUNPRO_CC_HPP
|
||||
|
||||
#define SPROUT_NO_CONSTEXPR
|
||||
#define SPROUT_NO_NOEXCEPT
|
||||
#define SPROUT_NO_TEMPLATE_ALIASES
|
||||
#define SPROUT_NO_USER_DEFINED_LITERALS
|
||||
#define SPROUT_NO_DELEGATING_CONSTRUCTORS
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_SUNPRO_CC_HPP
|
10
sprout/config/compiler/vacpp.hpp
Normal file
10
sprout/config/compiler/vacpp.hpp
Normal file
|
@ -0,0 +1,10 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_VACPP_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_VACPP_HPP
|
||||
|
||||
#define SPROUT_NO_CONSTEXPR
|
||||
#define SPROUT_NO_NOEXCEPT
|
||||
#define SPROUT_NO_TEMPLATE_ALIASES
|
||||
#define SPROUT_NO_USER_DEFINED_LITERALS
|
||||
#define SPROUT_NO_DELEGATING_CONSTRUCTORS
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_VACPP_HPP
|
10
sprout/config/compiler/visualc.hpp
Normal file
10
sprout/config/compiler/visualc.hpp
Normal file
|
@ -0,0 +1,10 @@
|
|||
#ifndef SPROUT_CONFIG_COMPILER_VISUALC_HPP
|
||||
#define SPROUT_CONFIG_COMPILER_VISUALC_HPP
|
||||
|
||||
#define SPROUT_NO_CONSTEXPR
|
||||
#define SPROUT_NO_NOEXCEPT
|
||||
#define SPROUT_NO_TEMPLATE_ALIASES
|
||||
#define SPROUT_NO_USER_DEFINED_LITERALS
|
||||
#define SPROUT_NO_DELEGATING_CONSTRUCTORS
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_COMPILER_VISUALC_HPP
|
67
sprout/config/config.hpp
Normal file
67
sprout/config/config.hpp
Normal file
|
@ -0,0 +1,67 @@
|
|||
#ifndef SPROUT_CONFIG_CONFIG_HPP
|
||||
#define SPROUT_CONFIG_CONFIG_HPP
|
||||
|
||||
#include <sprout/config/compiler.hpp>
|
||||
|
||||
#ifndef SPROUT_CONFIG_DISABLE_AUTO_CONFIG
|
||||
# include <sprout/config/auto_config.hpp>
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_AUTO_CONFIG
|
||||
|
||||
#ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||
# define SPROUT_CONSTEXPR constexpr
|
||||
# define SPROUT_CONSTEXPR_OR_CONST constexpr
|
||||
# define SPROUT_STATIC_CONSTEXPR static constexpr
|
||||
#else // #ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||
# define SPROUT_CONSTEXPR
|
||||
# define SPROUT_CONSTEXPR_OR_CONST const
|
||||
# define SPROUT_STATIC_CONSTEXPR static const
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||
|
||||
#ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||
# define SPROUT_NOEXCEPT noexcept
|
||||
# define SPROUT_NOEXCEPT_EXPR(EXPR) noexcept(EXPR)
|
||||
#else // #ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||
# define SPROUT_NOEXCEPT
|
||||
# define SPROUT_NOEXCEPT_EXPR(EXPR)
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||
|
||||
#ifndef SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||
# define SPROUT_USE_TEMPLATE_ALIASES 1
|
||||
#else // #ifndef SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||
# define SPROUT_USE_TEMPLATE_ALIASES 0
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||
|
||||
#ifndef SPROUT_CONFIG_DISABLE_USER_DEFINED_LITERALS
|
||||
# define SPROUT_USE_USER_DEFINED_LITERALS 1
|
||||
#else // #ifndef SPROUT_CONFIG_DISABLE_USER_DEFINED_LITERALS
|
||||
# define SPROUT_USE_USER_DEFINED_LITERALS 0
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_USER_DEFINED_LITERALS
|
||||
|
||||
#ifndef SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
||||
# define SPROUT_USE_DELEGATING_CONSTRUCTORS 1
|
||||
#else // #ifndef SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
||||
# define SPROUT_USE_DELEGATING_CONSTRUCTORS 0
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
||||
|
||||
#ifndef SPROUT_CONFIG_USE_SSCRISK_CEL
|
||||
# define HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT <sprout/functional/functor.hpp>
|
||||
# define HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT <sprout/algorithm/non_modifying.hpp>
|
||||
# define HDR_ITERATOR_SSCRISK_CEL_OR_SPROUT <sprout/iterator/operation.hpp>
|
||||
# define NS_SSCRISK_CEL_OR_SPROUT sprout
|
||||
#else // #ifndef SPROUT_CONFIG_USE_SSCRISK_CEL
|
||||
# define HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT <sscrisk/cel/functional.hpp>
|
||||
# define HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT <sscrisk/cel/algorithm.hpp>
|
||||
# define HDR_ITERATOR_SSCRISK_CEL_OR_SPROUT <sscrisk/cel/iterator.hpp>
|
||||
# define NS_SSCRISK_CEL_OR_SPROUT sscrisk::cel
|
||||
#endif // #ifndef SPROUT_CONFIG_USE_SSCRISK_CEL
|
||||
|
||||
#ifndef SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
||||
# define SPROUT_USE_INDEX_ITERATOR_IMPLEMENTATION 1
|
||||
#else // #ifndef SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
||||
# ifdef SPROUT_CONFIG_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
||||
# error config conflict: SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION, SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
||||
# endif // #ifndef SPROUT_CONFIG_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
||||
# define SPROUT_USE_INDEX_ITERATOR_IMPLEMENTATION 0
|
||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
||||
|
||||
#endif // #ifndef SPROUT_CONFIG_CONFIG_HPP
|
Loading…
Reference in a new issue