@@ -58,14 +58,17 @@ class codecvt_utf8_utf16
58
58
# include < __cxx03/codecvt>
59
59
#else
60
60
# include < __config>
61
- # include < __locale>
62
- # include < version>
63
61
64
- # if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
65
- # pragma GCC system_header
66
- # endif
62
+ # if _LIBCPP_HAS_LOCALIZATION
63
+
64
+ # include < __locale>
65
+ # include < version>
67
66
68
- # if _LIBCPP_STD_VER < 26 || defined(_LIBCPP_BUILDING_LIBRARY) || defined(_LIBCPP_ENABLE_CXX26_REMOVED_CODECVT)
67
+ # if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
68
+ # pragma GCC system_header
69
+ # endif
70
+
71
+ # if _LIBCPP_STD_VER < 26 || defined(_LIBCPP_BUILDING_LIBRARY) || defined(_LIBCPP_ENABLE_CXX26_REMOVED_CODECVT)
69
72
70
73
_LIBCPP_BEGIN_NAMESPACE_STD
71
74
@@ -76,7 +79,7 @@ enum _LIBCPP_DEPRECATED_IN_CXX17 codecvt_mode { consume_header = 4, generate_hea
76
79
template <class _Elem >
77
80
class __codecvt_utf8 ;
78
81
79
- # if _LIBCPP_HAS_WIDE_CHARACTERS
82
+ # if _LIBCPP_HAS_WIDE_CHARACTERS
80
83
template <>
81
84
class _LIBCPP_EXPORTED_FROM_ABI __codecvt_utf8<wchar_t > : public codecvt<wchar_t , char , mbstate_t > {
82
85
unsigned long __maxcode_;
@@ -115,7 +118,7 @@ protected:
115
118
int do_length (state_type&, const extern_type* __frm, const extern_type* __end, size_t __mx) const override ;
116
119
int do_max_length () const _NOEXCEPT override ;
117
120
};
118
- # endif // _LIBCPP_HAS_WIDE_CHARACTERS
121
+ # endif // _LIBCPP_HAS_WIDE_CHARACTERS
119
122
120
123
_LIBCPP_SUPPRESS_DEPRECATED_PUSH
121
124
template <>
@@ -206,7 +209,7 @@ _LIBCPP_SUPPRESS_DEPRECATED_POP
206
209
template <class _Elem , bool _LittleEndian>
207
210
class __codecvt_utf16 ;
208
211
209
- # if _LIBCPP_HAS_WIDE_CHARACTERS
212
+ # if _LIBCPP_HAS_WIDE_CHARACTERS
210
213
template <>
211
214
class _LIBCPP_EXPORTED_FROM_ABI __codecvt_utf16<wchar_t , false > : public codecvt<wchar_t , char , mbstate_t > {
212
215
unsigned long __maxcode_;
@@ -284,7 +287,7 @@ protected:
284
287
int do_length (state_type&, const extern_type* __frm, const extern_type* __end, size_t __mx) const override ;
285
288
int do_max_length () const _NOEXCEPT override ;
286
289
};
287
- # endif // _LIBCPP_HAS_WIDE_CHARACTERS
290
+ # endif // _LIBCPP_HAS_WIDE_CHARACTERS
288
291
289
292
_LIBCPP_SUPPRESS_DEPRECATED_PUSH
290
293
template <>
@@ -451,7 +454,7 @@ _LIBCPP_SUPPRESS_DEPRECATED_POP
451
454
template <class _Elem >
452
455
class __codecvt_utf8_utf16 ;
453
456
454
- # if _LIBCPP_HAS_WIDE_CHARACTERS
457
+ # if _LIBCPP_HAS_WIDE_CHARACTERS
455
458
template <>
456
459
class _LIBCPP_EXPORTED_FROM_ABI __codecvt_utf8_utf16<wchar_t > : public codecvt<wchar_t , char , mbstate_t > {
457
460
unsigned long __maxcode_;
@@ -490,7 +493,7 @@ protected:
490
493
int do_length (state_type&, const extern_type* __frm, const extern_type* __end, size_t __mx) const override ;
491
494
int do_max_length () const _NOEXCEPT override ;
492
495
};
493
- # endif // _LIBCPP_HAS_WIDE_CHARACTERS
496
+ # endif // _LIBCPP_HAS_WIDE_CHARACTERS
494
497
495
498
_LIBCPP_SUPPRESS_DEPRECATED_PUSH
496
499
template <>
@@ -579,7 +582,9 @@ _LIBCPP_SUPPRESS_DEPRECATED_POP
579
582
580
583
_LIBCPP_END_NAMESPACE_STD
581
584
582
- # endif // _LIBCPP_STD_VER < 26 || defined(_LIBCPP_BUILDING_LIBRARY) || defined(_LIBCPP_ENABLE_CXX26_REMOVED_CODECVT)
585
+ # endif // _LIBCPP_STD_VER < 26 || defined(_LIBCPP_BUILDING_LIBRARY) || defined(_LIBCPP_ENABLE_CXX26_REMOVED_CODECVT)
586
+
587
+ # endif // _LIBCPP_HAS_LOCALIZATION
583
588
584
589
# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
585
590
# include < atomic>
0 commit comments