add workaround for archlinux 64 bit

This commit is contained in:
bolero-MURAKAMI 2017-07-31 10:31:34 +09:00
parent 55999cff82
commit 5905422433
4 changed files with 10 additions and 7 deletions

View file

@ -13,6 +13,7 @@
#include <sprout/config.hpp>
#include <sprout/iterator/next.hpp>
#include <sprout/iterator/type_traits/category.hpp>
#include <sprout/type_traits/is_literal_type.hpp>
#include <sprout/utility/pair/pair.hpp>
#include <sprout/adl/not_found.hpp>
@ -91,7 +92,7 @@ namespace sprout {
template<typename InputIterator>
inline SPROUT_CONSTEXPR typename std::enable_if<
!sprout::is_constant_distance_iterator<InputIterator>::value && sprout::is_input_iterator<InputIterator>::value
&& std::is_literal_type<InputIterator>::value,
&& sprout::is_literal_type<InputIterator>::value,
typename std::iterator_traits<InputIterator>::difference_type
>::type
iterator_distance_dispatch(InputIterator first, InputIterator last) {
@ -101,7 +102,7 @@ namespace sprout {
template<typename InputIterator>
inline SPROUT_CONSTEXPR typename std::enable_if<
!sprout::is_constant_distance_iterator<InputIterator>::value && sprout::is_input_iterator<InputIterator>::value
&& !std::is_literal_type<InputIterator>::value,
&& !sprout::is_literal_type<InputIterator>::value,
typename std::iterator_traits<InputIterator>::difference_type
>::type
iterator_distance_dispatch(InputIterator first, InputIterator last) {

View file

@ -14,6 +14,7 @@
#include <sprout/iterator/advance.hpp>
#include <sprout/iterator/next_fwd.hpp>
#include <sprout/iterator/prev_fwd.hpp>
#include <sprout/type_traits/is_literal_type.hpp>
#include <sprout/adl/not_found.hpp>
#include <sprout/assert.hpp>
#include <sprout/math/greater_equal.hpp>
@ -100,7 +101,7 @@ namespace sprout {
template<typename InputIterator>
inline SPROUT_CONSTEXPR typename std::enable_if<
std::is_literal_type<InputIterator>::value,
sprout::is_literal_type<InputIterator>::value,
InputIterator
>::type
next_impl(
@ -113,7 +114,7 @@ namespace sprout {
}
template<typename InputIterator>
inline SPROUT_CONSTEXPR typename std::enable_if<
!std::is_literal_type<InputIterator>::value,
!sprout::is_literal_type<InputIterator>::value,
InputIterator
>::type
next_impl(

View file

@ -14,6 +14,7 @@
#include <sprout/iterator/advance.hpp>
#include <sprout/iterator/next_fwd.hpp>
#include <sprout/iterator/prev_fwd.hpp>
#include <sprout/type_traits/is_literal_type.hpp>
#include <sprout/adl/not_found.hpp>
namespace sprout_adl {
@ -73,7 +74,7 @@ namespace sprout {
template<typename BidirectionalIterator>
inline SPROUT_CONSTEXPR typename std::enable_if<
std::is_literal_type<BidirectionalIterator>::value,
sprout::is_literal_type<BidirectionalIterator>::value,
BidirectionalIterator
>::type
prev_impl(
@ -88,7 +89,7 @@ namespace sprout {
}
template<typename BidirectionalIterator>
inline SPROUT_CONSTEXPR typename std::enable_if<
!std::is_literal_type<BidirectionalIterator>::value,
!sprout::is_literal_type<BidirectionalIterator>::value,
BidirectionalIterator
>::type
prev_impl(

View file

@ -41,7 +41,7 @@ namespace sprout {
typename sprout::enabler_if<std::is_floating_point<FloatType>::value>::type = sprout::enabler
>
inline SPROUT_CONSTEXPR bool
issubnormal(FloatType x) {
issubnormal SPROUT_PREVENT_MACRO_SUBSTITUTION (FloatType x) {
return !sprout::math::isnan(x)
&& !sprout::math::iszero(x)
&& sprout::math::detail::issubnormal_or_zero(x)