std:: vprint_unicode (std::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
(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) |
|
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 |