#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_USE_SSCRISK_CEL # define HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT_DETAIL # define HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT_DETAIL # define HDR_ITERATOR_SSCRISK_CEL_OR_SPROUT_DETAIL # define NS_SSCRISK_CEL_OR_SPROUT_DETAIL sprout::detail #else // #ifndef SPROUT_CONFIG_USE_SSCRISK_CEL # define HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT_DETAIL # define HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT_DETAIL # define HDR_ITERATOR_SSCRISK_CEL_OR_SPROUT_DETAIL # define NS_SSCRISK_CEL_OR_SPROUT_DETAIL sscrisk::cel #endif // #ifndef SPROUT_CONFIG_USE_SSCRISK_CEL #ifndef SPROUT_CONFIG_SUPPORT_TEMPORARY_CONTAINER_ITERATION # define SPROUT_USE_INDEX_ITERATOR_IMPLEMENTATION 0 #else // #ifndef SPROUT_CONFIG_SUPPORT_TEMPORARY_CONTAINER_ITERATION # define SPROUT_USE_INDEX_ITERATOR_IMPLEMENTATION 1 #endif // #ifndef SPROUT_CONFIG_SUPPORT_TEMPORARY_CONTAINER_ITERATION #endif // #ifndef SPROUT_CONFIG_HPP