Defined in header <format> | ||
---|---|---|
template< class OutputIt, class CharT > class basic_format_context; | (1) | (since C++20) |
using format_context = basic_format_context</* unspecified */, char>; | (2) | (since C++20) |
using wformat_context = basic_format_context</* unspecified */, wchar_t>; | (3) | (since C++20) |
Provides access to formatting state consisting of the formatting arguments and the output iterator.
The behavior is undefined if OutputIt
does not model std::output_iterator<const CharT&>
.
std::string
, such as std::back_insert_iterator<std::string>
. Implementations typically use an iterator to type-erased buffer type that supports appending to any contiguous and resizable container.std::wstring
.Type | Definition |
---|---|
iterator | OutputIt |
char_type | CharT |
Type | Definition |
---|---|
formatter_type<T> | std::formatter<T, CharT> |
arg | returns the argument at the given index (public member function) |
locale | returns the locale used for locale-specific formatting (public member function) |
out | returns the iterator to output buffer (public member function) |
advance_to | advances the output iterator to the given position (public member function) |
std::basic_format_arg<basic_format_context> arg( std::size_t id ) const; |
Returns a std::basic_format_arg
holding the id
-th argument in args
, where args
is the parameter pack or std::basic_format_args
object passed to the formatting function.
If id
is not less than the number of formatting arguments, returns a default-constructed std::basic_format_arg
(holding a std::monostate
object).
std::locale locale(); |
Returns the locale passed to the formatting function, or a default-constructed std::locale
if the formatting function does not take a locale.
iterator out(); |
Returns the iterator to the output buffer. The result is move-constructed from the stored iterator.
void advance_to( iterator it ); |
Move assigns it
to the stored output iterator. After a call to advance_to
, the next call to out()
will return an iterator with the value that it
had before the assignment.
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR | Applied to | Behavior as published | Correct behavior |
---|---|---|---|
LWG 3567 | C++20 | basic_format_context does not work move-only iterator types | made to move iterators |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/format/basic_format_context