55 #ifndef _GLIBCXX_QUEUE 56 #define _GLIBCXX_QUEUE 1 58 #ifdef _GLIBCXX_SYSHDR 59 #pragma GCC system_header 64 #define __glibcxx_want_adaptor_iterator_pair_constructor 65 #define __glibcxx_want_containers_ranges 74 #ifdef __glibcxx_format_ranges // C++ >= 23 && HOSTED 77 namespace std _GLIBCXX_VISIBILITY(default)
79 _GLIBCXX_BEGIN_NAMESPACE_VERSION
82 template<__format::__char _CharT,
typename _Tp,
83 formattable<_CharT> _Container>
84 struct formatter<queue<_Tp, _Container>, _CharT>
87 using __maybe_const_adaptor
89 __format::__const_formattable_range<_Container, _CharT>,
90 const queue<_Tp, _Container>, queue<_Tp, _Container>>;
95 constexpr
typename basic_format_parse_context<_CharT>::iterator
96 parse(basic_format_parse_context<_CharT>& __pc)
97 {
return _M_f.parse(__pc); }
101 template<
typename _Out>
102 typename basic_format_context<_Out, _CharT>::iterator
103 format(__maybe_const_adaptor& __a,
104 basic_format_context<_Out, _CharT>& __fc)
const 105 {
return _M_f.format(__a.c, __fc); }
112 range_formatter<_Tp, _CharT> _M_f;
115 #if __glibcxx_print >= 202406L 118 template<
typename _Tp,
typename _Container>
120 enable_nonlocking_formatter_optimization<queue<_Tp, _Container>> =
false;
123 template<__format::__char _CharT,
typename _Tp,
124 formattable<_CharT> _Container,
typename _Compare>
125 struct formatter<priority_queue<_Tp, _Container, _Compare>, _CharT>
128 using __maybe_const_adaptor
130 __format::__const_formattable_range<_Container, _CharT>,
131 const priority_queue<_Tp, _Container, _Compare>,
132 priority_queue<_Tp, _Container, _Compare>>;
137 constexpr
typename basic_format_parse_context<_CharT>::iterator
138 parse(basic_format_parse_context<_CharT>& __pc)
139 {
return _M_f.parse(__pc); }
143 template<
typename _Out>
144 typename basic_format_context<_Out, _CharT>::iterator
145 format(__maybe_const_adaptor& __a,
146 basic_format_context<_Out, _CharT>& __fc)
const 147 {
return _M_f.format(__a.c, __fc); }
154 range_formatter<_Tp, _CharT> _M_f;
157 #if __glibcxx_print >= 202406L 160 template<
typename _Tp,
typename _Container,
typename _Comparator>
162 enable_nonlocking_formatter_optimization<
163 priority_queue<_Tp, _Container, _Comparator>> =
false;
166 _GLIBCXX_END_NAMESPACE_VERSION
168 #endif // __glibcxx_format_ranges
ISO C++ entities toplevel namespace is std.