std::vprint_unicode(std::ostream)
From cppreference.com
< cpp | io | basic ostream
| 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):
- First, the function constructs and checks the sentry object.
- Then, initializes an automatic variable as if by std::string out = std::vformat(os.getloc(), fmt, args);.
- Finally, inserts the character sequence
[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.
Parameters
| os | - | output stream to insert data into | ||||||||||||||||||||||||||||||||||||||||||||||
| fmt | - |
Each replacement field has the following format:
1) replacement field without a format specification
2) replacement field with a format specification
| ||||||||||||||||||||||||||||||||||||||||||||||
| args | - | arguments to be formatted | ||||||||||||||||||||||||||||||||||||||||||||||
Return value
(none)
Exceptions
- std::bad_alloc on allocation failure.
- Propagate any exception thrown by any formatter, e.g. std::format_error, without regard to the value of os.exceptions() and without turning on ios_base::badbit in the error state of os.
- May throw ios_base::failure caused by os.setstate(ios_base::badbit) which is called if an insertion into os fails.
Notes
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 | Feature |
|---|---|---|---|
__cpp_lib_print |
202207L | (C++23) | Formatted output |
__cpp_lib_format |
202207L | (C++23) | Exposing std::basic_format_string |
Example
| This section is incomplete Reason: no example |
See also
| 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) | |
| 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) |
External links
| 1. | Unicode |
| 2. | The Unicode Standard Version 14.0 - Core Specification |