More patches for VS-2017 compatiblity

This commit is contained in:
Howard Hinnant
2018-11-25 17:04:27 -05:00
parent 23b1f007fe
commit 5f34c40523

View File

@ -343,13 +343,13 @@ private:
sys_time<duration> tp_; sys_time<duration> tp_;
public: public:
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T = TimeZonePtr, template <class T = TimeZonePtr,
class = decltype(zoned_traits<T>::default_zone())> class = decltype(zoned_traits<T>::default_zone())>
#endif #endif
zoned_time(); zoned_time();
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T = TimeZonePtr, template <class T = TimeZonePtr,
class = decltype(zoned_traits<T>::default_zone())> class = decltype(zoned_traits<T>::default_zone())>
#endif #endif
@ -357,7 +357,7 @@ public:
explicit zoned_time(TimeZonePtr z); explicit zoned_time(TimeZonePtr z);
#if HAS_STRING_VIEW #if HAS_STRING_VIEW
# if !defined(_MSC_VER) || (_MSC_VER > 1900) # if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T = TimeZonePtr, template <class T = TimeZonePtr,
class = typename std::enable_if class = typename std::enable_if
< <
@ -370,7 +370,7 @@ public:
# endif # endif
explicit zoned_time(std::string_view name); explicit zoned_time(std::string_view name);
#else #else
# if !defined(_MSC_VER) || (_MSC_VER > 1900) # if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T = TimeZonePtr, template <class T = TimeZonePtr,
class = typename std::enable_if class = typename std::enable_if
< <
@ -394,7 +394,7 @@ public:
zoned_time(TimeZonePtr z, const sys_time<Duration>& st); zoned_time(TimeZonePtr z, const sys_time<Duration>& st);
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T = TimeZonePtr, template <class T = TimeZonePtr,
class = typename std::enable_if class = typename std::enable_if
< <
@ -407,7 +407,7 @@ public:
#endif #endif
zoned_time(TimeZonePtr z, const local_time<Duration>& tp); zoned_time(TimeZonePtr z, const local_time<Duration>& tp);
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T = TimeZonePtr, template <class T = TimeZonePtr,
class = typename std::enable_if class = typename std::enable_if
< <
@ -507,7 +507,7 @@ public:
#else // !HAS_STRING_VIEW #else // !HAS_STRING_VIEW
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T = TimeZonePtr, template <class T = TimeZonePtr,
class = typename std::enable_if class = typename std::enable_if
< <
@ -521,7 +521,7 @@ public:
#endif #endif
zoned_time(const std::string& name, const sys_time<Duration>& st); zoned_time(const std::string& name, const sys_time<Duration>& st);
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T = TimeZonePtr, template <class T = TimeZonePtr,
class = typename std::enable_if class = typename std::enable_if
< <
@ -535,7 +535,7 @@ public:
#endif #endif
zoned_time(const char* name, const sys_time<Duration>& st); zoned_time(const char* name, const sys_time<Duration>& st);
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T = TimeZonePtr, template <class T = TimeZonePtr,
class = typename std::enable_if class = typename std::enable_if
< <
@ -549,7 +549,7 @@ public:
#endif #endif
zoned_time(const std::string& name, const local_time<Duration>& tp); zoned_time(const std::string& name, const local_time<Duration>& tp);
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T = TimeZonePtr, template <class T = TimeZonePtr,
class = typename std::enable_if class = typename std::enable_if
< <
@ -563,7 +563,7 @@ public:
#endif #endif
zoned_time(const char* name, const local_time<Duration>& tp); zoned_time(const char* name, const local_time<Duration>& tp);
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T = TimeZonePtr, template <class T = TimeZonePtr,
class = typename std::enable_if class = typename std::enable_if
< <
@ -578,7 +578,7 @@ public:
#endif #endif
zoned_time(const std::string& name, const local_time<Duration>& tp, choose c); zoned_time(const std::string& name, const local_time<Duration>& tp, choose c);
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T = TimeZonePtr, template <class T = TimeZonePtr,
class = typename std::enable_if class = typename std::enable_if
< <
@ -593,7 +593,7 @@ public:
#endif #endif
zoned_time(const char* name, const local_time<Duration>& tp, choose c); zoned_time(const char* name, const local_time<Duration>& tp, choose c);
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class Duration2, class TimeZonePtr2, class T = TimeZonePtr, template <class Duration2, class TimeZonePtr2, class T = TimeZonePtr,
class = typename std::enable_if class = typename std::enable_if
< <
@ -611,7 +611,7 @@ public:
#endif #endif
zoned_time(const std::string& name, const zoned_time<Duration2, TimeZonePtr2>& zt); zoned_time(const std::string& name, const zoned_time<Duration2, TimeZonePtr2>& zt);
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class Duration2, class TimeZonePtr2, class T = TimeZonePtr, template <class Duration2, class TimeZonePtr2, class T = TimeZonePtr,
class = typename std::enable_if class = typename std::enable_if
< <
@ -629,7 +629,7 @@ public:
#endif #endif
zoned_time(const char* name, const zoned_time<Duration2, TimeZonePtr2>& zt); zoned_time(const char* name, const zoned_time<Duration2, TimeZonePtr2>& zt);
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class Duration2, class TimeZonePtr2, class T = TimeZonePtr, template <class Duration2, class TimeZonePtr2, class T = TimeZonePtr,
class = typename std::enable_if class = typename std::enable_if
< <
@ -649,7 +649,7 @@ public:
zoned_time(const std::string& name, const zoned_time<Duration2, TimeZonePtr2>& zt, zoned_time(const std::string& name, const zoned_time<Duration2, TimeZonePtr2>& zt,
choose); choose);
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class Duration2, class TimeZonePtr2, class T = TimeZonePtr, template <class Duration2, class TimeZonePtr2, class T = TimeZonePtr,
class = typename std::enable_if class = typename std::enable_if
< <
@ -1351,7 +1351,7 @@ to_raw_pointer(Pointer p) noexcept
} // namespace detail } // namespace detail
template <class Duration, class TimeZonePtr> template <class Duration, class TimeZonePtr>
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T, class> template <class T, class>
#endif #endif
inline inline
@ -1360,7 +1360,7 @@ zoned_time<Duration, TimeZonePtr>::zoned_time()
{} {}
template <class Duration, class TimeZonePtr> template <class Duration, class TimeZonePtr>
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T, class> template <class T, class>
#endif #endif
inline inline
@ -1378,7 +1378,7 @@ zoned_time<Duration, TimeZonePtr>::zoned_time(TimeZonePtr z)
#if HAS_STRING_VIEW #if HAS_STRING_VIEW
template <class Duration, class TimeZonePtr> template <class Duration, class TimeZonePtr>
# if !defined(_MSC_VER) || (_MSC_VER > 1900) # if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class, class> template <class, class>
# endif # endif
inline inline
@ -1389,7 +1389,7 @@ zoned_time<Duration, TimeZonePtr>::zoned_time(std::string_view name)
#else // !HAS_STRING_VIEW #else // !HAS_STRING_VIEW
template <class Duration, class TimeZonePtr> template <class Duration, class TimeZonePtr>
# if !defined(_MSC_VER) || (_MSC_VER > 1900) # if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T, class> template <class T, class>
# endif # endif
inline inline
@ -1415,7 +1415,7 @@ zoned_time<Duration, TimeZonePtr>::zoned_time(TimeZonePtr z, const sys_time<Dura
{} {}
template <class Duration, class TimeZonePtr> template <class Duration, class TimeZonePtr>
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T, class> template <class T, class>
#endif #endif
inline inline
@ -1425,7 +1425,7 @@ zoned_time<Duration, TimeZonePtr>::zoned_time(TimeZonePtr z, const local_time<Du
{} {}
template <class Duration, class TimeZonePtr> template <class Duration, class TimeZonePtr>
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T, class> template <class T, class>
#endif #endif
inline inline
@ -1498,7 +1498,7 @@ zoned_time<Duration, TimeZonePtr>::zoned_time(std::string_view name,
#else // !HAS_STRING_VIEW #else // !HAS_STRING_VIEW
template <class Duration, class TimeZonePtr> template <class Duration, class TimeZonePtr>
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T, class> template <class T, class>
#endif #endif
inline inline
@ -1508,7 +1508,7 @@ zoned_time<Duration, TimeZonePtr>::zoned_time(const std::string& name,
{} {}
template <class Duration, class TimeZonePtr> template <class Duration, class TimeZonePtr>
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T, class> template <class T, class>
#endif #endif
inline inline
@ -1518,7 +1518,7 @@ zoned_time<Duration, TimeZonePtr>::zoned_time(const char* name,
{} {}
template <class Duration, class TimeZonePtr> template <class Duration, class TimeZonePtr>
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T, class> template <class T, class>
#endif #endif
inline inline
@ -1528,7 +1528,7 @@ zoned_time<Duration, TimeZonePtr>::zoned_time(const std::string& name,
{} {}
template <class Duration, class TimeZonePtr> template <class Duration, class TimeZonePtr>
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T, class> template <class T, class>
#endif #endif
inline inline
@ -1538,7 +1538,7 @@ zoned_time<Duration, TimeZonePtr>::zoned_time(const char* name,
{} {}
template <class Duration, class TimeZonePtr> template <class Duration, class TimeZonePtr>
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T, class> template <class T, class>
#endif #endif
inline inline
@ -1548,7 +1548,7 @@ zoned_time<Duration, TimeZonePtr>::zoned_time(const std::string& name,
{} {}
template <class Duration, class TimeZonePtr> template <class Duration, class TimeZonePtr>
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class T, class> template <class T, class>
#endif #endif
inline inline
@ -1558,7 +1558,7 @@ zoned_time<Duration, TimeZonePtr>::zoned_time(const char* name,
{} {}
template <class Duration, class TimeZonePtr> template <class Duration, class TimeZonePtr>
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class Duration2, class TimeZonePtr2, class, class> template <class Duration2, class TimeZonePtr2, class, class>
#else #else
template <class Duration2, class TimeZonePtr2> template <class Duration2, class TimeZonePtr2>
@ -1570,7 +1570,7 @@ zoned_time<Duration, TimeZonePtr>::zoned_time(const std::string& name,
{} {}
template <class Duration, class TimeZonePtr> template <class Duration, class TimeZonePtr>
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class Duration2, class TimeZonePtr2, class, class> template <class Duration2, class TimeZonePtr2, class, class>
#else #else
template <class Duration2, class TimeZonePtr2> template <class Duration2, class TimeZonePtr2>
@ -1582,7 +1582,7 @@ zoned_time<Duration, TimeZonePtr>::zoned_time(const char* name,
{} {}
template <class Duration, class TimeZonePtr> template <class Duration, class TimeZonePtr>
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class Duration2, class TimeZonePtr2, class, class> template <class Duration2, class TimeZonePtr2, class, class>
#else #else
template <class Duration2, class TimeZonePtr2> template <class Duration2, class TimeZonePtr2>
@ -1595,7 +1595,7 @@ zoned_time<Duration, TimeZonePtr>::zoned_time(const std::string& name,
{} {}
template <class Duration, class TimeZonePtr> template <class Duration, class TimeZonePtr>
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
template <class Duration2, class TimeZonePtr2, class, class> template <class Duration2, class TimeZonePtr2, class, class>
#else #else
template <class Duration2, class TimeZonePtr2> template <class Duration2, class TimeZonePtr2>
@ -1691,7 +1691,7 @@ make_zoned(const sys_time<Duration>& tp)
} }
template <class TimeZonePtr template <class TimeZonePtr
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
, class = typename std::enable_if , class = typename std::enable_if
< <
std::is_class std::is_class
@ -1719,7 +1719,7 @@ make_zoned(const std::string& name)
} }
template <class Duration, class TimeZonePtr template <class Duration, class TimeZonePtr
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
, class = typename std::enable_if , class = typename std::enable_if
< <
std::is_class<typename std::decay<decltype(*std::declval<TimeZonePtr&>())>::type>{} std::is_class<typename std::decay<decltype(*std::declval<TimeZonePtr&>())>::type>{}
@ -1735,7 +1735,7 @@ make_zoned(TimeZonePtr zone, const local_time<Duration>& tp)
} }
template <class Duration, class TimeZonePtr template <class Duration, class TimeZonePtr
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
, class = typename std::enable_if , class = typename std::enable_if
< <
std::is_class<typename std::decay<decltype(*std::declval<TimeZonePtr&>())>::type>{} std::is_class<typename std::decay<decltype(*std::declval<TimeZonePtr&>())>::type>{}
@ -1801,7 +1801,7 @@ make_zoned(const std::string& name, const zoned_time<Duration, TimeZonePtr>& zt,
} }
template <class Duration, class TimeZonePtr template <class Duration, class TimeZonePtr
#if !defined(_MSC_VER) || (_MSC_VER > 1900) #if !defined(_MSC_VER) || (_MSC_VER > 1915)
, class = typename std::enable_if , class = typename std::enable_if
< <
std::is_class<typename std::decay<decltype(*std::declval<TimeZonePtr&>())>::type>{} std::is_class<typename std::decay<decltype(*std::declval<TimeZonePtr&>())>::type>{}