Sprout/sprout/config.hpp
2012-02-08 23:39:36 +09:00

47 lines
2.2 KiB
C++

#ifndef SPROUT_CONFIG_HPP
#define SPROUT_CONFIG_HPP
#ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
# define SPROUT_CONSTEXPR constexpr
# define SPROUT_STATIC_CONSTEXPR static constexpr
#else // #ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
# define SPROUT_CONSTEXPR
# 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_USE_SSCRISK_CEL
# define HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT_DETAIL <sprout/detail/functional.hpp>
# define HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT_DETAIL <sprout/detail/algorithm.hpp>
# define HDR_ITERATOR_SSCRISK_CEL_OR_SPROUT_DETAIL <sprout/detail/iterator.hpp>
# define NS_SSCRISK_CEL_OR_SPROUT_DETAIL sprout::detail
#else // #ifndef SPROUT_CONFIG_USE_SSCRISK_CEL
# define HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT_DETAIL <sscrisk/cel/functional.hpp>
# define HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT_DETAIL <sscrisk/cel/algorithm.hpp>
# define HDR_ITERATOR_SSCRISK_CEL_OR_SPROUT_DETAIL <sscrisk/cel/iterator.hpp>
# define NS_SSCRISK_CEL_OR_SPROUT_DETAIL 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_HPP