BDE 4.39.x Production Release
Loading...
Searching...
No Matches
bslfmt_print_imp_cpp03.h
Go to the documentation of this file.
1/// @file bslfmt_print_imp_cpp03.h
2///
3/// The content of this file has been pre-processed for Doxygen.
4///
5
6
7// bslfmt_print_imp_cpp03.h -*-C++-*-
8
9// Automatically generated file. **DO NOT EDIT**
10
11#ifndef INCLUDED_BSLFMT_PRINT_IMP_CPP03
12#define INCLUDED_BSLFMT_PRINT_IMP_CPP03
13
14/// @defgroup bslfmt_print_imp_cpp03 bslfmt_print_imp_cpp03
15/// @brief Provide C++03 implementation for bslfmt_print_imp.h
16/// @addtogroup bsl
17/// @{
18/// @addtogroup bslfmt
19/// @{
20/// @addtogroup bslfmt_print_imp_cpp03
21/// @{
22///
23/// <h1> Outline </h1>
24/// * <a href="#bslfmt_print_imp_cpp03-purpose"> Purpose</a>
25/// * <a href="#bslfmt_print_imp_cpp03-classes"> Classes </a>
26/// * <a href="#bslfmt_print_imp_cpp03-description"> Description </a>
27///
28/// # Purpose {#bslfmt_print_imp_cpp03-purpose}
29/// Provide C++03 implementation for bslfmt_print_imp.h
30///
31/// # Classes {#bslfmt_print_imp_cpp03-classes}
32/// See bslfmt_print_imp.h for list of classes
33///
34/// @see bslfmt_print_imp
35///
36/// # Description {#bslfmt_print_imp_cpp03-description}
37/// This component is the C++03 translation of a C++11 component,
38/// generated by the 'sim_cpp11_features.pl' program. If the original header
39/// contains any specially delimited regions of C++11 code, then this generated
40/// file contains the C++03 equivalent, i.e., with variadic templates expanded
41/// and rvalue-references replaced by 'bslmf::MovableRef' objects. The header
42/// code in this file is designed to be '#include'd into the original header
43/// when compiling with a C++03 compiler. If there are no specially delimited
44/// regions of C++11 code, then this header contains no code and is not
45/// '#include'd in the original header.
46///
47/// Generated on Tue Jun 2 11:47:33 2026
48/// Command line: sim_cpp11_features.pl bslfmt_print_imp.h
49/// @}
50/** @} */
51/** @} */
52
53/** @addtogroup bsl
54 * @{
55 */
56/** @addtogroup bslfmt
57 * @{
58 */
59/** @addtogroup bslfmt_print_imp_cpp03
60 * @{
61 */
62
63#ifdef COMPILING_BSLFMT_PRINT_IMP_H
64
65#if defined(BSLS_COMPILERFEATURES_SUPPORT_ALIAS_TEMPLATES) && \
66 defined(BSLS_COMPILERFEATURES_SUPPORT_VARIADIC_TEMPLATES)
67# define BSLFMT_FORMAT_STRING_PARAMETER bsl::format_string<t_ARGS...>
68#else
69// We cannot define format_string<t_ARGS...> in a C++03 compliant manner, so
70// have to use non-template versions instead.
71# define BSLFMT_FORMAT_STRING_PARAMETER bsl::format_string
72#endif
73
74
75namespace bslfmt {
76
77 // --------------
78 // FREE FUNCTIONS
79 // --------------
80
81#if BSLS_COMPILERFEATURES_SIMULATE_VARIADIC_TEMPLATES
82// {{{ BEGIN GENERATED CODE
83// Command line: sim_cpp11_features.pl bslfmt_print_imp.h
84#ifndef BSLFMT_PRINT_IMP_VARIADIC_LIMIT
85#define BSLFMT_PRINT_IMP_VARIADIC_LIMIT 10
86#endif
87#ifndef BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A
88#define BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A BSLFMT_PRINT_IMP_VARIADIC_LIMIT
89#endif
90#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 0
92#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 0
93
94#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 1
95template <class t_ARGS_01>
97 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01);
98#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 1
99
100#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 2
101template <class t_ARGS_01,
102 class t_ARGS_02>
104 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
105 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02);
106#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 2
107
108#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 3
109template <class t_ARGS_01,
110 class t_ARGS_02,
111 class t_ARGS_03>
113 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
114 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
115 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03);
116#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 3
117
118#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 4
119template <class t_ARGS_01,
120 class t_ARGS_02,
121 class t_ARGS_03,
122 class t_ARGS_04>
124 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
125 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
126 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
127 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04);
128#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 4
129
130#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 5
131template <class t_ARGS_01,
132 class t_ARGS_02,
133 class t_ARGS_03,
134 class t_ARGS_04,
135 class t_ARGS_05>
137 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
138 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
139 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
140 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
141 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05);
142#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 5
143
144#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 6
145template <class t_ARGS_01,
146 class t_ARGS_02,
147 class t_ARGS_03,
148 class t_ARGS_04,
149 class t_ARGS_05,
150 class t_ARGS_06>
152 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
153 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
154 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
155 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
156 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
157 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06);
158#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 6
159
160#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 7
161template <class t_ARGS_01,
162 class t_ARGS_02,
163 class t_ARGS_03,
164 class t_ARGS_04,
165 class t_ARGS_05,
166 class t_ARGS_06,
167 class t_ARGS_07>
169 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
170 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
171 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
172 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
173 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
174 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
175 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07);
176#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 7
177
178#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 8
179template <class t_ARGS_01,
180 class t_ARGS_02,
181 class t_ARGS_03,
182 class t_ARGS_04,
183 class t_ARGS_05,
184 class t_ARGS_06,
185 class t_ARGS_07,
186 class t_ARGS_08>
188 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
189 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
190 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
191 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
192 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
193 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
194 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
195 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08);
196#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 8
197
198#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 9
199template <class t_ARGS_01,
200 class t_ARGS_02,
201 class t_ARGS_03,
202 class t_ARGS_04,
203 class t_ARGS_05,
204 class t_ARGS_06,
205 class t_ARGS_07,
206 class t_ARGS_08,
207 class t_ARGS_09>
209 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
210 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
211 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
212 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
213 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
214 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
215 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
216 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08,
217 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_09) args_09);
218#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 9
219
220#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 10
221template <class t_ARGS_01,
222 class t_ARGS_02,
223 class t_ARGS_03,
224 class t_ARGS_04,
225 class t_ARGS_05,
226 class t_ARGS_06,
227 class t_ARGS_07,
228 class t_ARGS_08,
229 class t_ARGS_09,
230 class t_ARGS_10>
232 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
233 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
234 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
235 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
236 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
237 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
238 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
239 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08,
240 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_09) args_09,
241 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_10) args_10);
242#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 10
243
244
245#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 0
246void print(std::FILE *stream,
248#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 0
249
250#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 1
251template <class t_ARGS_01>
252void print(std::FILE *stream,
254 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01);
255#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 1
256
257#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 2
258template <class t_ARGS_01,
259 class t_ARGS_02>
260void print(std::FILE *stream,
262 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
263 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02);
264#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 2
265
266#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 3
267template <class t_ARGS_01,
268 class t_ARGS_02,
269 class t_ARGS_03>
270void print(std::FILE *stream,
272 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
273 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
274 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03);
275#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 3
276
277#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 4
278template <class t_ARGS_01,
279 class t_ARGS_02,
280 class t_ARGS_03,
281 class t_ARGS_04>
282void print(std::FILE *stream,
284 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
285 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
286 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
287 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04);
288#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 4
289
290#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 5
291template <class t_ARGS_01,
292 class t_ARGS_02,
293 class t_ARGS_03,
294 class t_ARGS_04,
295 class t_ARGS_05>
296void print(std::FILE *stream,
298 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
299 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
300 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
301 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
302 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05);
303#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 5
304
305#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 6
306template <class t_ARGS_01,
307 class t_ARGS_02,
308 class t_ARGS_03,
309 class t_ARGS_04,
310 class t_ARGS_05,
311 class t_ARGS_06>
312void print(std::FILE *stream,
314 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
315 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
316 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
317 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
318 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
319 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06);
320#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 6
321
322#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 7
323template <class t_ARGS_01,
324 class t_ARGS_02,
325 class t_ARGS_03,
326 class t_ARGS_04,
327 class t_ARGS_05,
328 class t_ARGS_06,
329 class t_ARGS_07>
330void print(std::FILE *stream,
332 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
333 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
334 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
335 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
336 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
337 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
338 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07);
339#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 7
340
341#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 8
342template <class t_ARGS_01,
343 class t_ARGS_02,
344 class t_ARGS_03,
345 class t_ARGS_04,
346 class t_ARGS_05,
347 class t_ARGS_06,
348 class t_ARGS_07,
349 class t_ARGS_08>
350void print(std::FILE *stream,
352 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
353 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
354 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
355 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
356 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
357 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
358 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
359 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08);
360#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 8
361
362#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 9
363template <class t_ARGS_01,
364 class t_ARGS_02,
365 class t_ARGS_03,
366 class t_ARGS_04,
367 class t_ARGS_05,
368 class t_ARGS_06,
369 class t_ARGS_07,
370 class t_ARGS_08,
371 class t_ARGS_09>
372void print(std::FILE *stream,
374 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
375 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
376 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
377 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
378 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
379 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
380 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
381 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08,
382 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_09) args_09);
383#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 9
384
385#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 10
386template <class t_ARGS_01,
387 class t_ARGS_02,
388 class t_ARGS_03,
389 class t_ARGS_04,
390 class t_ARGS_05,
391 class t_ARGS_06,
392 class t_ARGS_07,
393 class t_ARGS_08,
394 class t_ARGS_09,
395 class t_ARGS_10>
396void print(std::FILE *stream,
398 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
399 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
400 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
401 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
402 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
403 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
404 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
405 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08,
406 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_09) args_09,
407 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_10) args_10);
408#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 10
409
410
411#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 0
413#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 0
414
415#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 1
416template <class t_ARGS_01>
418 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01);
419#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 1
420
421#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 2
422template <class t_ARGS_01,
423 class t_ARGS_02>
425 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
426 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02);
427#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 2
428
429#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 3
430template <class t_ARGS_01,
431 class t_ARGS_02,
432 class t_ARGS_03>
434 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
435 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
436 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03);
437#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 3
438
439#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 4
440template <class t_ARGS_01,
441 class t_ARGS_02,
442 class t_ARGS_03,
443 class t_ARGS_04>
445 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
446 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
447 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
448 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04);
449#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 4
450
451#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 5
452template <class t_ARGS_01,
453 class t_ARGS_02,
454 class t_ARGS_03,
455 class t_ARGS_04,
456 class t_ARGS_05>
458 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
459 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
460 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
461 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
462 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05);
463#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 5
464
465#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 6
466template <class t_ARGS_01,
467 class t_ARGS_02,
468 class t_ARGS_03,
469 class t_ARGS_04,
470 class t_ARGS_05,
471 class t_ARGS_06>
473 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
474 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
475 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
476 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
477 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
478 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06);
479#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 6
480
481#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 7
482template <class t_ARGS_01,
483 class t_ARGS_02,
484 class t_ARGS_03,
485 class t_ARGS_04,
486 class t_ARGS_05,
487 class t_ARGS_06,
488 class t_ARGS_07>
490 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
491 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
492 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
493 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
494 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
495 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
496 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07);
497#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 7
498
499#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 8
500template <class t_ARGS_01,
501 class t_ARGS_02,
502 class t_ARGS_03,
503 class t_ARGS_04,
504 class t_ARGS_05,
505 class t_ARGS_06,
506 class t_ARGS_07,
507 class t_ARGS_08>
509 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
510 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
511 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
512 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
513 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
514 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
515 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
516 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08);
517#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 8
518
519#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 9
520template <class t_ARGS_01,
521 class t_ARGS_02,
522 class t_ARGS_03,
523 class t_ARGS_04,
524 class t_ARGS_05,
525 class t_ARGS_06,
526 class t_ARGS_07,
527 class t_ARGS_08,
528 class t_ARGS_09>
530 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
531 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
532 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
533 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
534 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
535 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
536 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
537 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08,
538 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_09) args_09);
539#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 9
540
541#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 10
542template <class t_ARGS_01,
543 class t_ARGS_02,
544 class t_ARGS_03,
545 class t_ARGS_04,
546 class t_ARGS_05,
547 class t_ARGS_06,
548 class t_ARGS_07,
549 class t_ARGS_08,
550 class t_ARGS_09,
551 class t_ARGS_10>
553 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
554 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
555 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
556 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
557 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
558 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
559 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
560 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08,
561 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_09) args_09,
562 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_10) args_10);
563#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 10
564
565
566#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 0
567void println(std::FILE *stream,
569#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 0
570
571#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 1
572template <class t_ARGS_01>
573void println(std::FILE *stream,
575 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01);
576#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 1
577
578#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 2
579template <class t_ARGS_01,
580 class t_ARGS_02>
581void println(std::FILE *stream,
583 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
584 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02);
585#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 2
586
587#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 3
588template <class t_ARGS_01,
589 class t_ARGS_02,
590 class t_ARGS_03>
591void println(std::FILE *stream,
593 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
594 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
595 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03);
596#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 3
597
598#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 4
599template <class t_ARGS_01,
600 class t_ARGS_02,
601 class t_ARGS_03,
602 class t_ARGS_04>
603void println(std::FILE *stream,
605 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
606 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
607 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
608 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04);
609#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 4
610
611#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 5
612template <class t_ARGS_01,
613 class t_ARGS_02,
614 class t_ARGS_03,
615 class t_ARGS_04,
616 class t_ARGS_05>
617void println(std::FILE *stream,
619 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
620 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
621 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
622 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
623 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05);
624#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 5
625
626#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 6
627template <class t_ARGS_01,
628 class t_ARGS_02,
629 class t_ARGS_03,
630 class t_ARGS_04,
631 class t_ARGS_05,
632 class t_ARGS_06>
633void println(std::FILE *stream,
635 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
636 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
637 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
638 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
639 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
640 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06);
641#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 6
642
643#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 7
644template <class t_ARGS_01,
645 class t_ARGS_02,
646 class t_ARGS_03,
647 class t_ARGS_04,
648 class t_ARGS_05,
649 class t_ARGS_06,
650 class t_ARGS_07>
651void println(std::FILE *stream,
653 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
654 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
655 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
656 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
657 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
658 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
659 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07);
660#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 7
661
662#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 8
663template <class t_ARGS_01,
664 class t_ARGS_02,
665 class t_ARGS_03,
666 class t_ARGS_04,
667 class t_ARGS_05,
668 class t_ARGS_06,
669 class t_ARGS_07,
670 class t_ARGS_08>
671void println(std::FILE *stream,
673 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
674 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
675 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
676 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
677 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
678 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
679 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
680 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08);
681#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 8
682
683#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 9
684template <class t_ARGS_01,
685 class t_ARGS_02,
686 class t_ARGS_03,
687 class t_ARGS_04,
688 class t_ARGS_05,
689 class t_ARGS_06,
690 class t_ARGS_07,
691 class t_ARGS_08,
692 class t_ARGS_09>
693void println(std::FILE *stream,
695 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
696 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
697 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
698 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
699 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
700 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
701 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
702 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08,
703 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_09) args_09);
704#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 9
705
706#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 10
707template <class t_ARGS_01,
708 class t_ARGS_02,
709 class t_ARGS_03,
710 class t_ARGS_04,
711 class t_ARGS_05,
712 class t_ARGS_06,
713 class t_ARGS_07,
714 class t_ARGS_08,
715 class t_ARGS_09,
716 class t_ARGS_10>
717void println(std::FILE *stream,
719 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
720 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
721 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
722 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
723 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
724 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
725 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
726 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08,
727 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_09) args_09,
728 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_10) args_10);
729#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_A >= 10
730
731#else
732// The generated code below is a workaround for the absence of perfect
733// forwarding in some compilers.
734template <class... t_ARGS>
736 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS)... args);
737
738template <class... t_ARGS>
739void print(std::FILE *stream,
741 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS)... args);
742
743template <class... t_ARGS>
745 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS)... args);
746
747template <class... t_ARGS>
748void println(std::FILE *stream,
750 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS)... args);
751// }}} END GENERATED CODE
752#endif
753
754/// Write `\n` into `stdout`.
755void println();
756
757/// Write `\n` to the specified `stream`.
758/// \pre The behavior is undefined unless
759/// `stream` is a valid pointer to an output C stream.
760void println(std::FILE *stream);
761
762/// Format the specified `args` using `bsl::vformat_to` according to the
763/// specification given by the specified `fmt`, and write the result of this
764/// operation to `stdout`. In the event of formatting error throw the
765/// exception @ref format_error , in the event of I/O error throw the exception
766/// @ref system_error , on allocation failure throw @ref bad_alloc .
767void vprint_nonunicode(bsl::string_view fmt, bsl::format_args args);
768
769/// Format the specified `args` using `bsl::vformat_to` according to the
770/// specification given by the specified `fmt`, and write the result of this
771/// operation to the specified `stream`. In the event of formatting error
772/// throw the exception @ref format_error , in the event of I/O error throw the
773/// exception @ref system_error , on allocation failure throw @ref bad_alloc .
774///
775/// \pre The behavior is undefined unless `stream` is a valid pointer to an output C
776/// stream.
777void vprint_nonunicode(std::FILE *stream,
779 bsl::format_args args);
780
781/// Format the specified `args` using `bsl::vformat_to` according to the
782/// specification given by the specified `fmt` to a temporary buffer, and write
783/// the resulting buffer to the specified `stream`. In the event of formatting
784/// error throw the exception @ref format_error , in the event of I/O error throw
785/// the exception @ref system_error , on allocation failure throw @ref bad_alloc .
786///
787/// \pre The behavior is undefined unless `stream` is a valid pointer to an output C
788/// stream.
789void vprint_nonunicode_buffered(std::FILE *stream,
791 bsl::format_args args);
792
793/// Format the specified `args` using `bsl::vformat_to` according to the
794/// specification given by the specified `fmt`, and write the result of this
795/// operation to `stdout`. In the event of formatting error throw the
796/// exception @ref format_error , in the event of I/O error throw the exception
797/// @ref system_error , on allocation failure throw @ref bad_alloc .
798void vprint_unicode(bsl::string_view fmt, bsl::format_args args);
799
800/// Format the specified `args` using `bsl::vformat_to` according to the
801/// specification given by the specified `fmt`, and write the result of this
802/// operation to the specified `stream`. In the event of formatting error
803/// throw the exception @ref format_error , in the event of I/O error throw the
804/// exception @ref system_error , on allocation failure throw @ref bad_alloc .
805///
806/// \pre The behavior is undefined unless `stream` is a valid pointer to an output C
807/// stream.
808void vprint_unicode(std::FILE *stream,
810 bsl::format_args args);
811
812/// Format the specified `args` using `bsl::vformat_to` according to the
813/// specification given by the specified `fmt` to a temporary buffer, and write
814/// the resulting buffer to the specified `stream`. In the event of formatting
815/// error throw the exception @ref format_error , in the event of I/O error throw
816/// the exception @ref system_error , on allocation failure throw @ref bad_alloc .
817///
818/// \pre The behavior is undefined unless `stream` is a valid pointer to an output C
819/// stream.
820void vprint_unicode_buffered(std::FILE *stream,
822 bsl::format_args args);
823
824/// Throw @ref system_error with `errc::io_error`.
826
827// ============================================================================
828// INLINE DEFINITIONS
829// ============================================================================
830
831 // --------------
832 // FREE FUNCTIONS
833 // --------------
834
835#if BSLS_COMPILERFEATURES_SIMULATE_VARIADIC_TEMPLATES
836// {{{ BEGIN GENERATED CODE
837// Command line: sim_cpp11_features.pl bslfmt_print_imp.h
838#ifndef BSLFMT_PRINT_IMP_VARIADIC_LIMIT
839#define BSLFMT_PRINT_IMP_VARIADIC_LIMIT 10
840#endif
841#ifndef BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B
842#define BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B BSLFMT_PRINT_IMP_VARIADIC_LIMIT
843#endif
844#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 0
845inline
846void print(std::FILE *stream,
848{
850 fmt.get(),
851 bsl::make_format_args());
852}
853#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 0
854
855#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 1
856template <class t_ARGS_01>
857inline
858void print(std::FILE *stream,
860 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01)
861{
863 fmt.get(),
864 bsl::make_format_args(args_01));
865}
866#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 1
867
868#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 2
869template <class t_ARGS_01,
870 class t_ARGS_02>
871inline
872void print(std::FILE *stream,
874 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
875 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02)
876{
878 fmt.get(),
879 bsl::make_format_args(args_01,
880 args_02));
881}
882#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 2
883
884#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 3
885template <class t_ARGS_01,
886 class t_ARGS_02,
887 class t_ARGS_03>
888inline
889void print(std::FILE *stream,
891 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
892 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
893 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03)
894{
896 fmt.get(),
897 bsl::make_format_args(args_01,
898 args_02,
899 args_03));
900}
901#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 3
902
903#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 4
904template <class t_ARGS_01,
905 class t_ARGS_02,
906 class t_ARGS_03,
907 class t_ARGS_04>
908inline
909void print(std::FILE *stream,
911 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
912 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
913 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
914 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04)
915{
917 fmt.get(),
918 bsl::make_format_args(args_01,
919 args_02,
920 args_03,
921 args_04));
922}
923#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 4
924
925#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 5
926template <class t_ARGS_01,
927 class t_ARGS_02,
928 class t_ARGS_03,
929 class t_ARGS_04,
930 class t_ARGS_05>
931inline
932void print(std::FILE *stream,
934 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
935 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
936 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
937 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
938 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05)
939{
941 fmt.get(),
942 bsl::make_format_args(args_01,
943 args_02,
944 args_03,
945 args_04,
946 args_05));
947}
948#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 5
949
950#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 6
951template <class t_ARGS_01,
952 class t_ARGS_02,
953 class t_ARGS_03,
954 class t_ARGS_04,
955 class t_ARGS_05,
956 class t_ARGS_06>
957inline
958void print(std::FILE *stream,
960 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
961 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
962 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
963 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
964 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
965 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06)
966{
968 fmt.get(),
969 bsl::make_format_args(args_01,
970 args_02,
971 args_03,
972 args_04,
973 args_05,
974 args_06));
975}
976#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 6
977
978#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 7
979template <class t_ARGS_01,
980 class t_ARGS_02,
981 class t_ARGS_03,
982 class t_ARGS_04,
983 class t_ARGS_05,
984 class t_ARGS_06,
985 class t_ARGS_07>
986inline
987void print(std::FILE *stream,
989 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
990 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
991 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
992 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
993 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
994 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
995 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07)
996{
998 fmt.get(),
999 bsl::make_format_args(args_01,
1000 args_02,
1001 args_03,
1002 args_04,
1003 args_05,
1004 args_06,
1005 args_07));
1006}
1007#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 7
1008
1009#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 8
1010template <class t_ARGS_01,
1011 class t_ARGS_02,
1012 class t_ARGS_03,
1013 class t_ARGS_04,
1014 class t_ARGS_05,
1015 class t_ARGS_06,
1016 class t_ARGS_07,
1017 class t_ARGS_08>
1018inline
1019void print(std::FILE *stream,
1021 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1022 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1023 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1024 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
1025 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
1026 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
1027 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
1028 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08)
1029{
1031 fmt.get(),
1032 bsl::make_format_args(args_01,
1033 args_02,
1034 args_03,
1035 args_04,
1036 args_05,
1037 args_06,
1038 args_07,
1039 args_08));
1040}
1041#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 8
1042
1043#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 9
1044template <class t_ARGS_01,
1045 class t_ARGS_02,
1046 class t_ARGS_03,
1047 class t_ARGS_04,
1048 class t_ARGS_05,
1049 class t_ARGS_06,
1050 class t_ARGS_07,
1051 class t_ARGS_08,
1052 class t_ARGS_09>
1053inline
1054void print(std::FILE *stream,
1056 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1057 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1058 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1059 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
1060 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
1061 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
1062 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
1063 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08,
1064 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_09) args_09)
1065{
1067 fmt.get(),
1068 bsl::make_format_args(args_01,
1069 args_02,
1070 args_03,
1071 args_04,
1072 args_05,
1073 args_06,
1074 args_07,
1075 args_08,
1076 args_09));
1077}
1078#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 9
1079
1080#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 10
1081template <class t_ARGS_01,
1082 class t_ARGS_02,
1083 class t_ARGS_03,
1084 class t_ARGS_04,
1085 class t_ARGS_05,
1086 class t_ARGS_06,
1087 class t_ARGS_07,
1088 class t_ARGS_08,
1089 class t_ARGS_09,
1090 class t_ARGS_10>
1091inline
1092void print(std::FILE *stream,
1094 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1095 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1096 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1097 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
1098 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
1099 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
1100 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
1101 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08,
1102 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_09) args_09,
1103 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_10) args_10)
1104{
1106 fmt.get(),
1107 bsl::make_format_args(args_01,
1108 args_02,
1109 args_03,
1110 args_04,
1111 args_05,
1112 args_06,
1113 args_07,
1114 args_08,
1115 args_09,
1116 args_10));
1117}
1118#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 10
1119
1120
1121#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 0
1122inline
1124{
1125 bslfmt::print(stdout, fmt);
1126}
1127#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 0
1128
1129#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 1
1130template <class t_ARGS_01>
1131inline
1133 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01)
1134{
1135 bslfmt::print(stdout, fmt,
1136 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_01, args_01));
1137}
1138#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 1
1139
1140#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 2
1141template <class t_ARGS_01,
1142 class t_ARGS_02>
1143inline
1145 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1146 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02)
1147{
1148 bslfmt::print(stdout, fmt,
1149 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_01, args_01),
1150 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_02, args_02));
1151}
1152#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 2
1153
1154#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 3
1155template <class t_ARGS_01,
1156 class t_ARGS_02,
1157 class t_ARGS_03>
1158inline
1160 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1161 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1162 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03)
1163{
1164 bslfmt::print(stdout, fmt,
1165 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_01, args_01),
1166 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_02, args_02),
1167 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_03, args_03));
1168}
1169#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 3
1170
1171#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 4
1172template <class t_ARGS_01,
1173 class t_ARGS_02,
1174 class t_ARGS_03,
1175 class t_ARGS_04>
1176inline
1178 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1179 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1180 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1181 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04)
1182{
1183 bslfmt::print(stdout, fmt,
1184 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_01, args_01),
1185 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_02, args_02),
1186 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_03, args_03),
1187 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_04, args_04));
1188}
1189#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 4
1190
1191#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 5
1192template <class t_ARGS_01,
1193 class t_ARGS_02,
1194 class t_ARGS_03,
1195 class t_ARGS_04,
1196 class t_ARGS_05>
1197inline
1199 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1200 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1201 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1202 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
1203 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05)
1204{
1205 bslfmt::print(stdout, fmt,
1206 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_01, args_01),
1207 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_02, args_02),
1208 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_03, args_03),
1209 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_04, args_04),
1210 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_05, args_05));
1211}
1212#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 5
1213
1214#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 6
1215template <class t_ARGS_01,
1216 class t_ARGS_02,
1217 class t_ARGS_03,
1218 class t_ARGS_04,
1219 class t_ARGS_05,
1220 class t_ARGS_06>
1221inline
1223 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1224 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1225 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1226 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
1227 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
1228 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06)
1229{
1230 bslfmt::print(stdout, fmt,
1231 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_01, args_01),
1232 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_02, args_02),
1233 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_03, args_03),
1234 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_04, args_04),
1235 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_05, args_05),
1236 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_06, args_06));
1237}
1238#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 6
1239
1240#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 7
1241template <class t_ARGS_01,
1242 class t_ARGS_02,
1243 class t_ARGS_03,
1244 class t_ARGS_04,
1245 class t_ARGS_05,
1246 class t_ARGS_06,
1247 class t_ARGS_07>
1248inline
1250 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1251 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1252 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1253 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
1254 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
1255 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
1256 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07)
1257{
1258 bslfmt::print(stdout, fmt,
1259 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_01, args_01),
1260 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_02, args_02),
1261 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_03, args_03),
1262 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_04, args_04),
1263 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_05, args_05),
1264 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_06, args_06),
1265 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_07, args_07));
1266}
1267#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 7
1268
1269#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 8
1270template <class t_ARGS_01,
1271 class t_ARGS_02,
1272 class t_ARGS_03,
1273 class t_ARGS_04,
1274 class t_ARGS_05,
1275 class t_ARGS_06,
1276 class t_ARGS_07,
1277 class t_ARGS_08>
1278inline
1280 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1281 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1282 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1283 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
1284 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
1285 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
1286 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
1287 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08)
1288{
1289 bslfmt::print(stdout, fmt,
1290 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_01, args_01),
1291 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_02, args_02),
1292 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_03, args_03),
1293 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_04, args_04),
1294 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_05, args_05),
1295 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_06, args_06),
1296 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_07, args_07),
1297 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_08, args_08));
1298}
1299#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 8
1300
1301#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 9
1302template <class t_ARGS_01,
1303 class t_ARGS_02,
1304 class t_ARGS_03,
1305 class t_ARGS_04,
1306 class t_ARGS_05,
1307 class t_ARGS_06,
1308 class t_ARGS_07,
1309 class t_ARGS_08,
1310 class t_ARGS_09>
1311inline
1313 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1314 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1315 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1316 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
1317 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
1318 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
1319 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
1320 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08,
1321 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_09) args_09)
1322{
1323 bslfmt::print(stdout, fmt,
1324 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_01, args_01),
1325 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_02, args_02),
1326 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_03, args_03),
1327 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_04, args_04),
1328 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_05, args_05),
1329 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_06, args_06),
1330 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_07, args_07),
1331 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_08, args_08),
1332 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_09, args_09));
1333}
1334#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 9
1335
1336#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 10
1337template <class t_ARGS_01,
1338 class t_ARGS_02,
1339 class t_ARGS_03,
1340 class t_ARGS_04,
1341 class t_ARGS_05,
1342 class t_ARGS_06,
1343 class t_ARGS_07,
1344 class t_ARGS_08,
1345 class t_ARGS_09,
1346 class t_ARGS_10>
1347inline
1349 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1350 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1351 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1352 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
1353 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
1354 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
1355 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
1356 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08,
1357 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_09) args_09,
1358 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_10) args_10)
1359{
1360 bslfmt::print(stdout, fmt,
1361 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_01, args_01),
1362 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_02, args_02),
1363 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_03, args_03),
1364 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_04, args_04),
1365 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_05, args_05),
1366 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_06, args_06),
1367 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_07, args_07),
1368 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_08, args_08),
1369 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_09, args_09),
1370 BSLS_COMPILERFEATURES_FORWARD(t_ARGS_10, args_10));
1371}
1372#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 10
1373
1374
1375#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 0
1376inline
1377void println(std::FILE *stream,
1379{
1380 bslfmt::print(stream,
1381 "{}\n",
1382 bsl::vformat(fmt.get(), bsl::make_format_args()));
1383}
1384#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 0
1385
1386#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 1
1387template <class t_ARGS_01>
1388inline
1389void println(std::FILE *stream,
1391 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01)
1392{
1393 bslfmt::print(stream,
1394 "{}\n",
1395 bsl::vformat(fmt.get(), bsl::make_format_args(args_01)));
1396}
1397#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 1
1398
1399#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 2
1400template <class t_ARGS_01,
1401 class t_ARGS_02>
1402inline
1403void println(std::FILE *stream,
1405 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1406 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02)
1407{
1408 bslfmt::print(stream,
1409 "{}\n",
1410 bsl::vformat(fmt.get(), bsl::make_format_args(args_01,
1411 args_02)));
1412}
1413#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 2
1414
1415#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 3
1416template <class t_ARGS_01,
1417 class t_ARGS_02,
1418 class t_ARGS_03>
1419inline
1420void println(std::FILE *stream,
1422 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1423 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1424 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03)
1425{
1426 bslfmt::print(stream,
1427 "{}\n",
1428 bsl::vformat(fmt.get(), bsl::make_format_args(args_01,
1429 args_02,
1430 args_03)));
1431}
1432#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 3
1433
1434#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 4
1435template <class t_ARGS_01,
1436 class t_ARGS_02,
1437 class t_ARGS_03,
1438 class t_ARGS_04>
1439inline
1440void println(std::FILE *stream,
1442 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1443 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1444 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1445 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04)
1446{
1447 bslfmt::print(stream,
1448 "{}\n",
1449 bsl::vformat(fmt.get(), bsl::make_format_args(args_01,
1450 args_02,
1451 args_03,
1452 args_04)));
1453}
1454#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 4
1455
1456#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 5
1457template <class t_ARGS_01,
1458 class t_ARGS_02,
1459 class t_ARGS_03,
1460 class t_ARGS_04,
1461 class t_ARGS_05>
1462inline
1463void println(std::FILE *stream,
1465 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1466 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1467 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1468 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
1469 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05)
1470{
1471 bslfmt::print(stream,
1472 "{}\n",
1473 bsl::vformat(fmt.get(), bsl::make_format_args(args_01,
1474 args_02,
1475 args_03,
1476 args_04,
1477 args_05)));
1478}
1479#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 5
1480
1481#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 6
1482template <class t_ARGS_01,
1483 class t_ARGS_02,
1484 class t_ARGS_03,
1485 class t_ARGS_04,
1486 class t_ARGS_05,
1487 class t_ARGS_06>
1488inline
1489void println(std::FILE *stream,
1491 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1492 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1493 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1494 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
1495 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
1496 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06)
1497{
1498 bslfmt::print(stream,
1499 "{}\n",
1500 bsl::vformat(fmt.get(), bsl::make_format_args(args_01,
1501 args_02,
1502 args_03,
1503 args_04,
1504 args_05,
1505 args_06)));
1506}
1507#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 6
1508
1509#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 7
1510template <class t_ARGS_01,
1511 class t_ARGS_02,
1512 class t_ARGS_03,
1513 class t_ARGS_04,
1514 class t_ARGS_05,
1515 class t_ARGS_06,
1516 class t_ARGS_07>
1517inline
1518void println(std::FILE *stream,
1520 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1521 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1522 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1523 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
1524 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
1525 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
1526 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07)
1527{
1528 bslfmt::print(stream,
1529 "{}\n",
1530 bsl::vformat(fmt.get(), bsl::make_format_args(args_01,
1531 args_02,
1532 args_03,
1533 args_04,
1534 args_05,
1535 args_06,
1536 args_07)));
1537}
1538#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 7
1539
1540#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 8
1541template <class t_ARGS_01,
1542 class t_ARGS_02,
1543 class t_ARGS_03,
1544 class t_ARGS_04,
1545 class t_ARGS_05,
1546 class t_ARGS_06,
1547 class t_ARGS_07,
1548 class t_ARGS_08>
1549inline
1550void println(std::FILE *stream,
1552 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1553 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1554 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1555 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
1556 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
1557 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
1558 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
1559 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08)
1560{
1561 bslfmt::print(stream,
1562 "{}\n",
1563 bsl::vformat(fmt.get(), bsl::make_format_args(args_01,
1564 args_02,
1565 args_03,
1566 args_04,
1567 args_05,
1568 args_06,
1569 args_07,
1570 args_08)));
1571}
1572#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 8
1573
1574#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 9
1575template <class t_ARGS_01,
1576 class t_ARGS_02,
1577 class t_ARGS_03,
1578 class t_ARGS_04,
1579 class t_ARGS_05,
1580 class t_ARGS_06,
1581 class t_ARGS_07,
1582 class t_ARGS_08,
1583 class t_ARGS_09>
1584inline
1585void println(std::FILE *stream,
1587 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1588 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1589 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1590 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
1591 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
1592 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
1593 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
1594 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08,
1595 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_09) args_09)
1596{
1597 bslfmt::print(stream,
1598 "{}\n",
1599 bsl::vformat(fmt.get(), bsl::make_format_args(args_01,
1600 args_02,
1601 args_03,
1602 args_04,
1603 args_05,
1604 args_06,
1605 args_07,
1606 args_08,
1607 args_09)));
1608}
1609#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 9
1610
1611#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 10
1612template <class t_ARGS_01,
1613 class t_ARGS_02,
1614 class t_ARGS_03,
1615 class t_ARGS_04,
1616 class t_ARGS_05,
1617 class t_ARGS_06,
1618 class t_ARGS_07,
1619 class t_ARGS_08,
1620 class t_ARGS_09,
1621 class t_ARGS_10>
1622inline
1623void println(std::FILE *stream,
1625 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1626 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1627 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1628 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
1629 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
1630 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
1631 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
1632 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08,
1633 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_09) args_09,
1634 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_10) args_10)
1635{
1636 bslfmt::print(stream,
1637 "{}\n",
1638 bsl::vformat(fmt.get(), bsl::make_format_args(args_01,
1639 args_02,
1640 args_03,
1641 args_04,
1642 args_05,
1643 args_06,
1644 args_07,
1645 args_08,
1646 args_09,
1647 args_10)));
1648}
1649#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 10
1650
1651
1652#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 0
1653inline
1655{
1656 bslfmt::println(stdout, fmt);
1657}
1658#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 0
1659
1660#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 1
1661template <class t_ARGS_01>
1662inline
1664 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01)
1665{
1666 bslfmt::println(stdout, fmt, BSLS_COMPILERFEATURES_FORWARD(t_ARGS_01,
1667 args_01));
1668}
1669#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 1
1670
1671#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 2
1672template <class t_ARGS_01,
1673 class t_ARGS_02>
1674inline
1676 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1677 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02)
1678{
1679 bslfmt::println(stdout, fmt, BSLS_COMPILERFEATURES_FORWARD(t_ARGS_01,
1680 args_01),
1682 args_02));
1683}
1684#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 2
1685
1686#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 3
1687template <class t_ARGS_01,
1688 class t_ARGS_02,
1689 class t_ARGS_03>
1690inline
1692 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1693 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1694 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03)
1695{
1696 bslfmt::println(stdout, fmt, BSLS_COMPILERFEATURES_FORWARD(t_ARGS_01,
1697 args_01),
1699 args_02),
1701 args_03));
1702}
1703#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 3
1704
1705#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 4
1706template <class t_ARGS_01,
1707 class t_ARGS_02,
1708 class t_ARGS_03,
1709 class t_ARGS_04>
1710inline
1712 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1713 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1714 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1715 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04)
1716{
1717 bslfmt::println(stdout, fmt, BSLS_COMPILERFEATURES_FORWARD(t_ARGS_01,
1718 args_01),
1720 args_02),
1722 args_03),
1724 args_04));
1725}
1726#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 4
1727
1728#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 5
1729template <class t_ARGS_01,
1730 class t_ARGS_02,
1731 class t_ARGS_03,
1732 class t_ARGS_04,
1733 class t_ARGS_05>
1734inline
1736 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1737 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1738 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1739 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
1740 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05)
1741{
1742 bslfmt::println(stdout, fmt, BSLS_COMPILERFEATURES_FORWARD(t_ARGS_01,
1743 args_01),
1745 args_02),
1747 args_03),
1749 args_04),
1751 args_05));
1752}
1753#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 5
1754
1755#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 6
1756template <class t_ARGS_01,
1757 class t_ARGS_02,
1758 class t_ARGS_03,
1759 class t_ARGS_04,
1760 class t_ARGS_05,
1761 class t_ARGS_06>
1762inline
1764 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1765 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1766 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1767 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
1768 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
1769 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06)
1770{
1771 bslfmt::println(stdout, fmt, BSLS_COMPILERFEATURES_FORWARD(t_ARGS_01,
1772 args_01),
1774 args_02),
1776 args_03),
1778 args_04),
1780 args_05),
1782 args_06));
1783}
1784#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 6
1785
1786#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 7
1787template <class t_ARGS_01,
1788 class t_ARGS_02,
1789 class t_ARGS_03,
1790 class t_ARGS_04,
1791 class t_ARGS_05,
1792 class t_ARGS_06,
1793 class t_ARGS_07>
1794inline
1796 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1797 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1798 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1799 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
1800 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
1801 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
1802 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07)
1803{
1804 bslfmt::println(stdout, fmt, BSLS_COMPILERFEATURES_FORWARD(t_ARGS_01,
1805 args_01),
1807 args_02),
1809 args_03),
1811 args_04),
1813 args_05),
1815 args_06),
1817 args_07));
1818}
1819#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 7
1820
1821#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 8
1822template <class t_ARGS_01,
1823 class t_ARGS_02,
1824 class t_ARGS_03,
1825 class t_ARGS_04,
1826 class t_ARGS_05,
1827 class t_ARGS_06,
1828 class t_ARGS_07,
1829 class t_ARGS_08>
1830inline
1832 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1833 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1834 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1835 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
1836 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
1837 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
1838 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
1839 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08)
1840{
1841 bslfmt::println(stdout, fmt, BSLS_COMPILERFEATURES_FORWARD(t_ARGS_01,
1842 args_01),
1844 args_02),
1846 args_03),
1848 args_04),
1850 args_05),
1852 args_06),
1854 args_07),
1856 args_08));
1857}
1858#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 8
1859
1860#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 9
1861template <class t_ARGS_01,
1862 class t_ARGS_02,
1863 class t_ARGS_03,
1864 class t_ARGS_04,
1865 class t_ARGS_05,
1866 class t_ARGS_06,
1867 class t_ARGS_07,
1868 class t_ARGS_08,
1869 class t_ARGS_09>
1870inline
1872 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1873 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1874 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1875 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
1876 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
1877 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
1878 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
1879 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08,
1880 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_09) args_09)
1881{
1882 bslfmt::println(stdout, fmt, BSLS_COMPILERFEATURES_FORWARD(t_ARGS_01,
1883 args_01),
1885 args_02),
1887 args_03),
1889 args_04),
1891 args_05),
1893 args_06),
1895 args_07),
1897 args_08),
1899 args_09));
1900}
1901#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 9
1902
1903#if BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 10
1904template <class t_ARGS_01,
1905 class t_ARGS_02,
1906 class t_ARGS_03,
1907 class t_ARGS_04,
1908 class t_ARGS_05,
1909 class t_ARGS_06,
1910 class t_ARGS_07,
1911 class t_ARGS_08,
1912 class t_ARGS_09,
1913 class t_ARGS_10>
1914inline
1916 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_01) args_01,
1917 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_02) args_02,
1918 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_03) args_03,
1919 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_04) args_04,
1920 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_05) args_05,
1921 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_06) args_06,
1922 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_07) args_07,
1923 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_08) args_08,
1924 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_09) args_09,
1925 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS_10) args_10)
1926{
1927 bslfmt::println(stdout, fmt, BSLS_COMPILERFEATURES_FORWARD(t_ARGS_01,
1928 args_01),
1930 args_02),
1932 args_03),
1934 args_04),
1936 args_05),
1938 args_06),
1940 args_07),
1942 args_08),
1944 args_09),
1946 args_10));
1947}
1948#endif // BSLFMT_PRINT_IMP_VARIADIC_LIMIT_B >= 10
1949
1950#else
1951// The generated code below is a workaround for the absence of perfect
1952// forwarding in some compilers.
1953template <class... t_ARGS>
1954inline
1955void print(std::FILE *stream,
1957 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS)... args)
1958{
1960 fmt.get(),
1961 bsl::make_format_args(args...));
1962}
1963
1964template <class... t_ARGS>
1965inline
1967 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS)... args)
1968{
1969 bslfmt::print(stdout, fmt, BSLS_COMPILERFEATURES_FORWARD(t_ARGS, args)...);
1970}
1971
1972template <class... t_ARGS>
1973inline
1974void println(std::FILE *stream,
1976 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS)... args)
1977{
1978 bslfmt::print(stream,
1979 "{}\n",
1980 bsl::vformat(fmt.get(), bsl::make_format_args(args...)));
1981}
1982
1983template <class... t_ARGS>
1984inline
1986 BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS)... args)
1987{
1989 args)...);
1990}
1991// }}} END GENERATED CODE
1992#endif
1993
1994inline
1995void println()
1996{
1997 bslfmt::println(stdout);
1998}
1999
2000inline
2001void vprint_nonunicode(bsl::string_view fmt, bsl::format_args args)
2002{
2003 return bslfmt::vprint_nonunicode(stdout, fmt, args);
2004}
2005
2006inline
2007void vprint_unicode(bsl::string_view fmt, bsl::format_args args)
2008{
2009 return bslfmt::vprint_unicode(stdout, fmt, args);
2010}
2011
2012} // close package namespace
2013
2014
2015#undef BSLFMT_FORMAT_STRING_PARAMETER
2016
2017#else // if ! defined(DEFINED_BSLFMT_PRINT_IMP_H)
2018# error Not valid except when included from bslfmt_print_imp.h
2019#endif // ! defined(COMPILING_BSLFMT_PRINT_IMP_H)
2020
2021#endif // ! defined(INCLUDED_BSLFMT_PRINT_IMP_CPP03)
2022
2023// ----------------------------------------------------------------------------
2024// Copyright 2025 Bloomberg Finance L.P.
2025//
2026// Licensed under the Apache License, Version 2.0 (the "License");
2027// you may not use this file except in compliance with the License.
2028// You may obtain a copy of the License at
2029//
2030// http://www.apache.org/licenses/LICENSE-2.0
2031//
2032// Unless required by applicable law or agreed to in writing, software
2033// distributed under the License is distributed on an "AS IS" BASIS,
2034// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2035// See the License for the specific language governing permissions and
2036// limitations under the License.
2037// ----------------------------- END-OF-FILE ----------------------------------
2038
2039/** @} */
2040/** @} */
2041/** @} */
Definition bslstl_stringview.h:471
#define BSLFMT_FORMAT_STRING_PARAMETER
Definition bslfmt_format_imp.h:209
#define BSLS_COMPILERFEATURES_FORWARD_REF(T)
Definition bsls_compilerfeatures.h:2343
#define BSLS_COMPILERFEATURES_FORWARD(T, V)
Definition bsls_compilerfeatures.h:2349
bsl::ostream & print(bsl::ostream &stream, const TYPE &object, int level=0, int spacesPerLevel=4)
Definition bdlb_printmethods.h:725
Definition bslfmt_enablestreamedformatter.h:130
void print(BSLFMT_FORMAT_STRING_PARAMETER fmt, t_ARGS &&... args)
Definition bslfmt_print_imp.h:263
void Print_Imp_ThrowIoError()
Throw system_error with errc::io_error.
void vprint_unicode_buffered(std::FILE *stream, bsl::string_view fmt, bsl::format_args args)
void vprint_unicode(bsl::string_view fmt, bsl::format_args args)
Definition bslfmt_print_imp.h:300
void println()
Write \n into stdout.
Definition bslfmt_print_imp.h:288
void vprint_nonunicode(bsl::string_view fmt, bsl::format_args args)
Definition bslfmt_print_imp.h:294
void vprint_nonunicode_buffered(std::FILE *stream, bsl::string_view fmt, bsl::format_args args)