Defined in header <ostream> | ||
|---|---|---|
void vprint_unicode( std::ostream& os, std::string_view fmt, std::format_args args ); | (since C++23) |
Behaves as FormattedOutputFunction (except that some details of error reporting differ):
std::string out = std::vformat(os.getloc(), fmt, args);. [out.begin(), out.end()) into os, that is, if os refers to a terminal capable of displaying Unicode, writes out to this terminal using the native Unicode API. Otherwise, writes unmodified out to the os. | os | - | output stream to insert data into | ||||||||||||
| fmt | - | an object that represents the format string. The format string consists of
Each replacement field has the following format:
|
||||||||||||
| args | - | arguments to be formatted |
(none).
std::bad_alloc on allocation failure. std::format_error, without regard to the value of os.exceptions() and without turning on ios_base::badbit in the error state of os. ios_base::failure caused by os.setstate(ios_base::badbit) which is called if an insertion into os fails. If invoking the native Unicode API requires transcoding, the invalid code units are substituted with U+FFFD REPLACEMENT CHARACTER (see "The Unicode Standard Version 14.0 - Core Specification", Chapter 3.9).
| Feature-test macro | Value | Std | Comment |
|---|---|---|---|
__cpp_lib_print | 202207L | (C++23) | Formatted output |
__cpp_lib_format | 202207L | (C++23) | Exposing std::basic_format_string |
|
(C++23) | outputs character data using type-erased argument representation (function) |
|
(C++23) | outputs formatted representation of the arguments (function template) |
| inserts character data or insert into rvalue stream (function template) |
|
|
(C++23) | prints to Unicode capable stdout or a file stream using type-erased argument representation (function) |
|
(C++20) | stores formatted representation of the arguments in a new string (function template) |
| 1. | Unicode |
| 2. | The Unicode Standard Version 14.0 - Core Specification |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/basic_ostream/vprint_unicode