std::basic_format_string, std::format_string, std::
Defined in header <format>
|
||
template
<
class CharT, class... Args
>
struct basic_format_string; |
(1) | (since C++20) |
template
<
class... Args
>
using format_string = |
(2) | (since C++20) |
template
<
class... Args
>
using wformat_string = |
(3) | (since C++20) |
Class template std::basic_format_string
wraps a std::basic_string_view that will be used by formatting functions.
The constructor of std::basic_format_string
performs compile-time format string checks
unless the constructor argument is returned by std::runtime_format
(since C++26)
Member functions
(constructor) |
constructs a basic_format_string , raising compile error if the argument is not a format string (public member function) |
get |
returns the wrapped string (public member function) |
std::basic_format_string::basic_format_string
template
<
class T >
consteval basic_format_string( const T& s ) ; |
(1) | |
basic_format_string(
/* runtime-format-string */
<CharT> s )
noexcept
;
|
(2) | (since C++26) |
basic_format_string
object that stores a view of string s. If the argument is not a compile-time constant, or if it cannot be parsed as a format string for the formatting argument types Args
basic_format_string
object that stores a view of string s as returned by std::runtime_format
Parameters
s | - | an object that represents the format string. The format string consists of
Each replacement field has the following format:
1) replacement field without a format specification
2) replacement field with a format specification
|
std::basic_format_string::get
constexpr
std::basic_string_view
<CharT> get(
)
const
noexcept
;
|
||
Returns the stored string view.
Notes
The alias templates format_string
and wformat_string
use std::type_identity_t
template<class... Args> std::string format(std::format_string<Args...> fmt, Args&&... args); auto s = format("{} {}", 1.0, 2); // Calls format<double, int>. Args are deduced from 1.0, 2 // Due to the use of type_identity_t in format_string, template argument deduction // does not consider the type of the format string.
Example
This section is incomplete Reason: no example |
Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR | Applied to | Behavior as published | Correct behavior |
---|---|---|---|
P2508R1 | C++20 | there's no user-visible name for this facility | the name basic_format_string is exposed
|