{ return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); }
};
-#define __cpp_lib_constexpr_char_traits 201611
-
template<typename _CharT>
_GLIBCXX14_CONSTEXPR int
char_traits<_CharT>::
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
-#if __cplusplus > 201402
+#if __cplusplus >= 201703L
+#define __cpp_lib_constexpr_char_traits 201611
+
/**
* @brief Determine whether the characters of a NULL-terminated
* string are known at compile time.
static _GLIBCXX17_CONSTEXPR int
compare(const char_type* __s1, const char_type* __s2, size_t __n)
{
-#if __cplusplus > 201402
+#if __cplusplus >= 201703L
if (__builtin_constant_p(__n)
&& __constant_char_array_p(__s1, __n)
&& __constant_char_array_p(__s2, __n))
static _GLIBCXX17_CONSTEXPR size_t
length(const char_type* __s)
{
-#if __cplusplus > 201402
+#if __cplusplus >= 201703L
if (__constant_string_p(__s))
return __gnu_cxx::char_traits<char_type>::length(__s);
#endif
static _GLIBCXX17_CONSTEXPR const char_type*
find(const char_type* __s, size_t __n, const char_type& __a)
{
-#if __cplusplus > 201402
+#if __cplusplus >= 201703L
if (__builtin_constant_p(__n)
&& __builtin_constant_p(__a)
&& __constant_char_array_p(__s, __n))
static _GLIBCXX17_CONSTEXPR int
compare(const char_type* __s1, const char_type* __s2, size_t __n)
{
-#if __cplusplus > 201402
+#if __cplusplus >= 201703L
if (__builtin_constant_p(__n)
&& __constant_char_array_p(__s1, __n)
&& __constant_char_array_p(__s2, __n))
static _GLIBCXX17_CONSTEXPR size_t
length(const char_type* __s)
{
-#if __cplusplus > 201402
+#if __cplusplus >= 201703L
if (__constant_string_p(__s))
return __gnu_cxx::char_traits<char_type>::length(__s);
else
static _GLIBCXX17_CONSTEXPR const char_type*
find(const char_type* __s, size_t __n, const char_type& __a)
{
-#if __cplusplus > 201402
+#if __cplusplus >= 201703L
if (__builtin_constant_p(__n)
&& __builtin_constant_p(__a)
&& __constant_char_array_p(__s, __n))