try to fix msvc issues

This commit is contained in:
2017-11-21 02:23:43 +07:00
parent 01a6f2e2f4
commit 62de324e63

View File

@@ -420,10 +420,10 @@ namespace kari
KARI_HPP_NOEXCEPT_DECLTYPE_RETURN( KARI_HPP_NOEXCEPT_DECLTYPE_RETURN(
detail::make_curry<0>(std::forward<F>(f))) detail::make_curry<0>(std::forward<F>(f)))
template < typename F, typename... Args > template < typename F, typename A, typename... As >
constexpr auto curry(F&& f, Args&&... args) constexpr auto curry(F&& f, A&& a, As&&... as)
KARI_HPP_NOEXCEPT_DECLTYPE_RETURN( KARI_HPP_NOEXCEPT_DECLTYPE_RETURN(
kari::curry(std::forward<F>(f))(std::forward<Args>(args)...)) curry(std::forward<F>(f))(std::forward<A>(a), std::forward<As>(as)...))
// //
// curryV // curryV
@@ -449,10 +449,10 @@ namespace kari
KARI_HPP_NOEXCEPT_DECLTYPE_RETURN( KARI_HPP_NOEXCEPT_DECLTYPE_RETURN(
detail::make_curry<MaxN>(std::forward<F>(f))) detail::make_curry<MaxN>(std::forward<F>(f)))
template < typename F, typename... Args > template < typename F, typename A, typename... As >
constexpr auto curryV(F&& f, Args&&... args) constexpr auto curryV(F&& f, A&& a, As&&... as)
KARI_HPP_NOEXCEPT_DECLTYPE_RETURN( KARI_HPP_NOEXCEPT_DECLTYPE_RETURN(
kari::curryV(std::forward<F>(f))(std::forward<Args>(args)...)) curryV(std::forward<F>(f))(std::forward<A>(a), std::forward<As>(as)...))
// //
// curryN // curryN
@@ -478,13 +478,14 @@ namespace kari
template template
< <
std::size_t N, typename F, typename... Args, std::size_t N, typename F, typename A, typename... As,
std::size_t Args = sizeof...(As) + 1,
std::size_t MaxN = std::numeric_limits<std::size_t>::max(), std::size_t MaxN = std::numeric_limits<std::size_t>::max(),
typename std::enable_if_t<MaxN - sizeof...(Args) >= N, int> = 0 typename std::enable_if_t<(MaxN - Args >= N), int> = 0
> >
constexpr auto curryN(F&& f, Args&&... args) constexpr auto curryN(F&& f, A&& a, As&&... as)
KARI_HPP_NOEXCEPT_DECLTYPE_RETURN( KARI_HPP_NOEXCEPT_DECLTYPE_RETURN(
kari::curryN<N + sizeof...(Args)>(std::forward<F>(f))(std::forward<Args>(args)...)) curryN<N + Args>(std::forward<F>(f))(std::forward<A>(a), std::forward<As>(as)...))
} }
namespace kari namespace kari