diff --git a/sprout/algorithm/fit/results.hpp b/sprout/algorithm/fit/results.hpp index fce7d94d..d403b292 100644 --- a/sprout/algorithm/fit/results.hpp +++ b/sprout/algorithm/fit/results.hpp @@ -5,8 +5,8 @@ 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) =============================================================================*/ -#ifndef SPROUT_ALGORITHM_FIT_RESULT_OF_HPP -#define SPROUT_ALGORITHM_FIT_RESULT_OF_HPP +#ifndef SPROUT_ALGORITHM_FIT_RESULTS_HPP +#define SPROUT_ALGORITHM_FIT_RESULTS_HPP #include #include @@ -36,4 +36,4 @@ namespace sprout { } // namespace fit } // namespace sprout -#endif // #ifndef SPROUT_ALGORITHM_FIT_RESULT_OF_HPP +#endif // #ifndef SPROUT_ALGORITHM_FIT_RESULTS_HPP diff --git a/sprout/algorithm/fixed/results.hpp b/sprout/algorithm/fixed/results.hpp index c9bab300..6d085715 100644 --- a/sprout/algorithm/fixed/results.hpp +++ b/sprout/algorithm/fixed/results.hpp @@ -5,8 +5,8 @@ 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) =============================================================================*/ -#ifndef SPROUT_ALGORITHM_FIXED_RESULT_OF_HPP -#define SPROUT_ALGORITHM_FIXED_RESULT_OF_HPP +#ifndef SPROUT_ALGORITHM_FIXED_RESULTS_HPP +#define SPROUT_ALGORITHM_FIXED_RESULTS_HPP #include #include @@ -45,4 +45,4 @@ namespace sprout { } // namespace results } // namespace sprout -#endif // #ifndef SPROUT_ALGORITHM_FIXED_RESULT_OF_HPP +#endif // #ifndef SPROUT_ALGORITHM_FIXED_RESULTS_HPP diff --git a/sprout/algorithm/string/join.hpp b/sprout/algorithm/string/join.hpp index bf1fb05e..b557aac3 100644 --- a/sprout/algorithm/string/join.hpp +++ b/sprout/algorithm/string/join.hpp @@ -18,7 +18,7 @@ #include #include #include -#include +#include #include #include @@ -144,7 +144,7 @@ namespace sprout { return sprout::algorithm::detail::join_impl_ra_1( sprout::begin(cont_cont), sprout::container_indexes::make(), - sprout::range::partial_sum( + sprout::range::fixed::partial_sum( cont_cont | sprout::adaptors::size_enumed, sprout::pit() ) @@ -324,7 +324,7 @@ namespace sprout { sprout::begin(cont_cont), sprout::begin(separator), sprout::container_indexes::make(), - sprout::range::partial_sum( + sprout::range::fixed::partial_sum( cont_cont | sprout::adaptors::size_enumed(sprout::algorithm::detail::str_size(separator), true), sprout::pit() ) diff --git a/sprout/cinttypes.hpp b/sprout/cinttypes.hpp index 6725377f..8f734170 100644 --- a/sprout/cinttypes.hpp +++ b/sprout/cinttypes.hpp @@ -9,7 +9,7 @@ #define SPROUT_CINTTYPES_HPP #include -#include -#include +#include +#include #endif // #ifndef SPROUT_CINTTYPES_HPP diff --git a/sprout/compost/waves/white_noise.hpp b/sprout/compost/waves/white_noise.hpp index cfbb3c32..5ca362b2 100644 --- a/sprout/compost/waves/white_noise.hpp +++ b/sprout/compost/waves/white_noise.hpp @@ -16,7 +16,6 @@ #include #include #include -#include #include #include #include diff --git a/sprout/functional/hash.hpp b/sprout/functional/hash.hpp index 614e0bde..afe01854 100644 --- a/sprout/functional/hash.hpp +++ b/sprout/functional/hash.hpp @@ -9,7 +9,7 @@ #define SPROUT_FUNCTIONAL_HASH_HPP #include -#include +#include #include #include #include diff --git a/sprout/limits.hpp b/sprout/limits.hpp index a5f2589d..dbe790a3 100644 --- a/sprout/limits.hpp +++ b/sprout/limits.hpp @@ -251,36 +251,51 @@ namespace sprout { } \ } +#if !defined(__FLT_DENORM_MIN__) SPROUT_NUMERIC_LIMITS_FLOATING_POINT_SPECIALIZED_DECL( float, FLT_MIN, FLT_MAX, FLT_EPSILON, 0.5F, -#if !defined(__FLT_DENORM_MIN__) INFINITY, NAN, NAN, FLT_MIN -#else // #if !defined(__FLT_DENORM_MIN__) - __builtin_huge_valf(), __builtin_nanf(""), __builtin_nansf(""), __FLT_DENORM_MIN__ -#endif // #if !defined(__FLT_DENORM_MIN__) ); +#else // #if !defined(__FLT_DENORM_MIN__) + SPROUT_NUMERIC_LIMITS_FLOATING_POINT_SPECIALIZED_DECL( + float, + FLT_MIN, FLT_MAX, + FLT_EPSILON, 0.5F, + __builtin_huge_valf(), __builtin_nanf(""), __builtin_nansf(""), __FLT_DENORM_MIN__ + ); +#endif // #if !defined(__FLT_DENORM_MIN__) +#if !defined(__DBL_DENORM_MIN__) SPROUT_NUMERIC_LIMITS_FLOATING_POINT_SPECIALIZED_DECL( double, DBL_MIN, DBL_MAX, DBL_EPSILON, 0.5, -#if !defined(__DBL_DENORM_MIN__) INFINITY, NAN, NAN, DBL_MIN -#else // #if !defined(__DBL_DENORM_MIN__) - __builtin_huge_val(), __builtin_nan(""), __builtin_nans(""), __DBL_DENORM_MIN__ -#endif // #if !defined(__DBL_DENORM_MIN__) ); +#else // #if !defined(__DBL_DENORM_MIN__) + SPROUT_NUMERIC_LIMITS_FLOATING_POINT_SPECIALIZED_DECL( + double, + DBL_MIN, DBL_MAX, + DBL_EPSILON, 0.5, + __builtin_huge_val(), __builtin_nan(""), __builtin_nans(""), __DBL_DENORM_MIN__ + ); +#endif // #if !defined(__DBL_DENORM_MIN__) +#if !defined(__LDBL_DENORM_MIN__) SPROUT_NUMERIC_LIMITS_FLOATING_POINT_SPECIALIZED_DECL( long double, LDBL_MIN, LDBL_MAX, LDBL_EPSILON, 0.5L, -#if !defined(__LDBL_DENORM_MIN__) INFINITY, NAN, NAN, LDBL_MIN -#else // #if !defined(__LDBL_DENORM_MIN__) - __builtin_huge_val(), __builtin_nan(""), __builtin_nans(""), __LDBL_DENORM_MIN__ -#endif // #if !defined(__LDBL_DENORM_MIN__) ); +#else // #if !defined(__LDBL_DENORM_MIN__) + SPROUT_NUMERIC_LIMITS_FLOATING_POINT_SPECIALIZED_DECL( + long double, + LDBL_MIN, LDBL_MAX, + LDBL_EPSILON, 0.5L, + __builtin_huge_val(), __builtin_nan(""), __builtin_nans(""), __LDBL_DENORM_MIN__ + ); +#endif // #if !defined(__LDBL_DENORM_MIN__) #undef SPROUT_NUMERIC_LIMITS_FLOATING_POINT_SPECIALIZED_DECL #else // #ifdef SPROUT_NO_CXX11_NUMERIC_LIMITS diff --git a/sprout/logic/tribool.hpp b/sprout/logic/tribool.hpp index 743c323e..9f71e89e 100644 --- a/sprout/logic/tribool.hpp +++ b/sprout/logic/tribool.hpp @@ -9,7 +9,7 @@ #define SPROUT_LOGIC_TRIBOOL_HPP #include -#include +#include #include #include #include diff --git a/sprout/numeric/dft/cxx14/spectrum.hpp b/sprout/numeric/dft/cxx14/spectrum.hpp index cb7be51c..701ed56c 100644 --- a/sprout/numeric/dft/cxx14/spectrum.hpp +++ b/sprout/numeric/dft/cxx14/spectrum.hpp @@ -11,8 +11,8 @@ #include #include #include -#include -#include +#include +#include namespace sprout { // diff --git a/sprout/range/adaptor/copied.hpp b/sprout/range/adaptor/copied.hpp index f94ad04d..4a79c551 100644 --- a/sprout/range/adaptor/copied.hpp +++ b/sprout/range/adaptor/copied.hpp @@ -14,7 +14,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/sprout/range/adaptor/detail/adapted_range_default.hpp b/sprout/range/adaptor/detail/adapted_range_default.hpp index 0a5e2d51..aee3637a 100644 --- a/sprout/range/adaptor/detail/adapted_range_default.hpp +++ b/sprout/range/adaptor/detail/adapted_range_default.hpp @@ -13,7 +13,7 @@ #include #include #include -#include +#include #include namespace sprout { diff --git a/sprout/range/adaptor/detail/jointed_range_default.hpp b/sprout/range/adaptor/detail/jointed_range_default.hpp index 2887aca9..0771178d 100644 --- a/sprout/range/adaptor/detail/jointed_range_default.hpp +++ b/sprout/range/adaptor/detail/jointed_range_default.hpp @@ -14,7 +14,7 @@ #include #include #include -#include +#include #include #include diff --git a/sprout/range/adaptor/detail/sized_range_default.hpp b/sprout/range/adaptor/detail/sized_range_default.hpp index 012bd9b1..d034aa7b 100644 --- a/sprout/range/adaptor/detail/sized_range_default.hpp +++ b/sprout/range/adaptor/detail/sized_range_default.hpp @@ -14,7 +14,7 @@ #include #include #include -#include +#include #include namespace sprout { diff --git a/sprout/range/algorithm/partial_sort_copy.hpp b/sprout/range/algorithm/partial_sort_copy.hpp new file mode 100644 index 00000000..b075a7f1 --- /dev/null +++ b/sprout/range/algorithm/partial_sort_copy.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2011-2014 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) +=============================================================================*/ +#ifndef SPROUT_RANGE_ALGORITHM_PARTIAL_SORT_COPY_HPP +#define SPROUT_RANGE_ALGORITHM_PARTIAL_SORT_COPY_HPP + +#include +#include + +#endif // #ifndef SPROUT_RANGE_ALGORITHM_PARTIAL_SORT_COPY_HPP diff --git a/sprout/range/algorithm/swap_element_copy.hpp b/sprout/range/algorithm/swap_element_copy.hpp index 62722b4d..17de20ef 100644 --- a/sprout/range/algorithm/swap_element_copy.hpp +++ b/sprout/range/algorithm/swap_element_copy.hpp @@ -11,6 +11,5 @@ #include #include #include -#include #endif // #ifndef SPROUT_RANGE_ALGORITHM_SWAP_ELEMENT_COPY_HPP diff --git a/sprout/type.hpp b/sprout/type.hpp index 842ba5c9..4d36004a 100644 --- a/sprout/type.hpp +++ b/sprout/type.hpp @@ -17,6 +17,7 @@ #include #include #include +#include #include #include diff --git a/sprout/type_traits/common_type.hpp b/sprout/type_traits/common_type.hpp index 7ed58b46..b9723a32 100644 --- a/sprout/type_traits/common_type.hpp +++ b/sprout/type_traits/common_type.hpp @@ -9,10 +9,12 @@ #define SPROUT_TYPE_TRAITS_COMMON_TYPE_HPP #include +#include #include #include #include #include +#include namespace sprout { // @@ -24,7 +26,9 @@ namespace sprout { : public sprout::identity() ? std::declval() : std::declval())> {}; template - struct undecayed_common_type_impl {}; + struct undecayed_common_type_impl + : public sprout::detail::nil_base + {}; template struct undecayed_common_type_impl : public sprout::identity diff --git a/sprout/utility.hpp b/sprout/utility.hpp index dde969ea..9df4dfd1 100644 --- a/sprout/utility.hpp +++ b/sprout/utility.hpp @@ -17,6 +17,7 @@ #include #include #include +#include #include #include diff --git a/sprout/weed/attr_cnv.hpp b/sprout/weed/attr_cnv.hpp index 38262fc9..6ff0757f 100644 --- a/sprout/weed/attr_cnv.hpp +++ b/sprout/weed/attr_cnv.hpp @@ -15,5 +15,6 @@ #include #include #include +#include #endif // #ifndef SPROUT_WEED_ATTR_CNV_HPP diff --git a/sprout/weed/attr_cnv/results.hpp b/sprout/weed/attr_cnv/results.hpp index 5c52e786..bc0d03f3 100644 --- a/sprout/weed/attr_cnv/results.hpp +++ b/sprout/weed/attr_cnv/results.hpp @@ -5,8 +5,8 @@ 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) =============================================================================*/ -#ifndef SPROUT_WEED_ATTR_CNV_RESULT_OF_HPP -#define SPROUT_WEED_ATTR_CNV_RESULT_OF_HPP +#ifndef SPROUT_WEED_ATTR_CNV_RESULTS_HPP +#define SPROUT_WEED_ATTR_CNV_RESULTS_HPP #include #include @@ -16,4 +16,4 @@ #include #include -#endif // #ifndef SPROUT_WEED_ATTR_CNV_RESULT_OF_HPP +#endif // #ifndef SPROUT_WEED_ATTR_CNV_RESULTS_HPP diff --git a/sprout/weed/attr_cnv/results/bitwise_or.hpp b/sprout/weed/attr_cnv/results/bitwise_or.hpp index 34387b66..68787295 100644 --- a/sprout/weed/attr_cnv/results/bitwise_or.hpp +++ b/sprout/weed/attr_cnv/results/bitwise_or.hpp @@ -5,8 +5,8 @@ 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) =============================================================================*/ -#ifndef SPROUT_WEED_ATTR_CNV_RESULT_OF_BITWISE_OR_HPP -#define SPROUT_WEED_ATTR_CNV_RESULT_OF_BITWISE_OR_HPP +#ifndef SPROUT_WEED_ATTR_CNV_RESULTS_BITWISE_OR_HPP +#define SPROUT_WEED_ATTR_CNV_RESULTS_BITWISE_OR_HPP #include #include @@ -164,4 +164,4 @@ namespace sprout { } // namespace weed } // namespace sprout -#endif // #ifndef SPROUT_WEED_ATTR_CNV_RESULT_OF_BITWISE_OR_HPP +#endif // #ifndef SPROUT_WEED_ATTR_CNV_RESULTS_BITWISE_OR_HPP diff --git a/sprout/weed/attr_cnv/results/mem_ptr.hpp b/sprout/weed/attr_cnv/results/mem_ptr.hpp index ae9753a8..24b49561 100644 --- a/sprout/weed/attr_cnv/results/mem_ptr.hpp +++ b/sprout/weed/attr_cnv/results/mem_ptr.hpp @@ -5,8 +5,8 @@ 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) =============================================================================*/ -#ifndef SPROUT_WEED_ATTR_CNV_RESULT_OF_MEM_PTR_HPP -#define SPROUT_WEED_ATTR_CNV_RESULT_OF_MEM_PTR_HPP +#ifndef SPROUT_WEED_ATTR_CNV_RESULTS_MEM_PTR_HPP +#define SPROUT_WEED_ATTR_CNV_RESULTS_MEM_PTR_HPP #include #include @@ -27,4 +27,4 @@ namespace sprout { } // namespace weed } // namespace sprout -#endif // #ifndef SPROUT_WEED_ATTR_CNV_RESULT_OF_MEM_PTR_HPP +#endif // #ifndef SPROUT_WEED_ATTR_CNV_RESULTS_MEM_PTR_HPP diff --git a/sprout/weed/attr_cnv/results/modulus.hpp b/sprout/weed/attr_cnv/results/modulus.hpp index 53320acc..6bcc6636 100644 --- a/sprout/weed/attr_cnv/results/modulus.hpp +++ b/sprout/weed/attr_cnv/results/modulus.hpp @@ -5,8 +5,8 @@ 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) =============================================================================*/ -#ifndef SPROUT_WEED_ATTR_CNV_RESULT_OF_MODULUS_HPP -#define SPROUT_WEED_ATTR_CNV_RESULT_OF_MODULUS_HPP +#ifndef SPROUT_WEED_ATTR_CNV_RESULTS_MODULUS_HPP +#define SPROUT_WEED_ATTR_CNV_RESULTS_MODULUS_HPP #include #include @@ -28,4 +28,4 @@ namespace sprout { } // namespace weed } // namespace sprout -#endif // #ifndef SPROUT_WEED_ATTR_CNV_RESULT_OF_MODULUS_HPP +#endif // #ifndef SPROUT_WEED_ATTR_CNV_RESULTS_MODULUS_HPP diff --git a/sprout/weed/attr_cnv/results/negate.hpp b/sprout/weed/attr_cnv/results/negate.hpp index 5251b496..a995305c 100644 --- a/sprout/weed/attr_cnv/results/negate.hpp +++ b/sprout/weed/attr_cnv/results/negate.hpp @@ -5,8 +5,8 @@ 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) =============================================================================*/ -#ifndef SPROUT_WEED_ATTR_CNV_RESULT_OF_NEGATE_HPP -#define SPROUT_WEED_ATTR_CNV_RESULT_OF_NEGATE_HPP +#ifndef SPROUT_WEED_ATTR_CNV_RESULTS_NEGATE_HPP +#define SPROUT_WEED_ATTR_CNV_RESULTS_NEGATE_HPP #include #include @@ -38,4 +38,4 @@ namespace sprout { } // namespace weed } // namespace sprout -#endif // #ifndef SPROUT_WEED_ATTR_CNV_RESULT_OF_NEGATE_HPP +#endif // #ifndef SPROUT_WEED_ATTR_CNV_RESULTS_NEGATE_HPP diff --git a/sprout/weed/attr_cnv/results/shift_left.hpp b/sprout/weed/attr_cnv/results/shift_left.hpp index e4108c1e..8cc5d08e 100644 --- a/sprout/weed/attr_cnv/results/shift_left.hpp +++ b/sprout/weed/attr_cnv/results/shift_left.hpp @@ -5,8 +5,8 @@ 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) =============================================================================*/ -#ifndef SPROUT_WEED_ATTR_CNV_RESULT_OF_SHIFT_LEFT_HPP -#define SPROUT_WEED_ATTR_CNV_RESULT_OF_SHIFT_LEFT_HPP +#ifndef SPROUT_WEED_ATTR_CNV_RESULTS_SHIFT_LEFT_HPP +#define SPROUT_WEED_ATTR_CNV_RESULTS_SHIFT_LEFT_HPP #include #include @@ -172,4 +172,4 @@ namespace sprout { } // namespace weed } // namespace sprout -#endif // #ifndef SPROUT_WEED_ATTR_CNV_RESULT_OF_SHIFT_LEFT_HPP +#endif // #ifndef SPROUT_WEED_ATTR_CNV_RESULTS_SHIFT_LEFT_HPP diff --git a/sprout/weed/attr_cnv/results/times.hpp b/sprout/weed/attr_cnv/results/times.hpp index f5267e8f..8fdcf25c 100644 --- a/sprout/weed/attr_cnv/results/times.hpp +++ b/sprout/weed/attr_cnv/results/times.hpp @@ -5,8 +5,8 @@ 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) =============================================================================*/ -#ifndef SPROUT_WEED_ATTR_CNV_RESULT_OF_TIMES_HPP -#define SPROUT_WEED_ATTR_CNV_RESULT_OF_TIMES_HPP +#ifndef SPROUT_WEED_ATTR_CNV_RESULTS_TIMES_HPP +#define SPROUT_WEED_ATTR_CNV_RESULTS_TIMES_HPP #include #include @@ -76,4 +76,4 @@ namespace sprout { } // namespace weed } // namespace sprout -#endif // #ifndef SPROUT_WEED_ATTR_CNV_RESULT_OF_TIMES_HPP +#endif // #ifndef SPROUT_WEED_ATTR_CNV_RESULTS_TIMES_HPP diff --git a/testspr/header_all.hpp b/testspr/header_all.hpp index 5e57b5ff..0c907bf5 100644 --- a/testspr/header_all.hpp +++ b/testspr/header_all.hpp @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -60,13 +61,18 @@ #include #include #include +#include #include #include #include +#include +#include #include #include #include #include +#include +#include #include #include #include @@ -75,4 +81,179 @@ #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + #endif // #ifndef TESTSPR_HEADER_ALL_HPP