Defined in header <format> | ||
---|---|---|
template< class Context > class basic_format_arg; | (since C++20) |
Provides access to a formatting argument.
basic_format_arg
objects are typically created by std::make_format_args
and accessed through std::visit_format_arg
.
A basic_format_arg
object behaves as if it stores a std::variant
of the following types:
std::monostate
(only if the object was default-constructed) bool
Context::char_type
int
unsigned int
long long int
unsigned long long int
float
double
long double
const Context::char_type*
std::basic_string_view<Context::char_type>
const void*
basic_format_arg::handle
Type | Definition |
---|---|
handle | type-erased wrapper that allows formatting an object of user-defined type (class) |
(constructor) | constructs a std::basic_format_arg (public member function) |
operator bool | checks if the current object holds a formatting argument (public member function) |
(C++20) | argument visitation interface for user-defined formatters (function template) |
template< class Context > class basic_format_arg<Context>::handle; |
Allows formatting an object of a user-defined type.
format | formats the referenced object with the given contexts (public member function) |
void format( std::basic_format_parse_context<Context::char_type>& parse_ctx, Context& format_ctx ) const; |
Let T
be the type of the associated formatting argument, ref
be a reference to the formatting argument. Equivalent to:
typename Context::template formatter_type<T> f; parse_ctx.advance_to(f.parse(parse_ctx)); format_ctx.advance_to(f.format(ref, format_ctx));
basic_format_arg() noexcept; |
Default constructor. Constructs a basic_format_arg
that does not hold a formatting argument. The stored object has type std::monostate
.
To create a basic_format_arg
that holds a formatting argument, std::make_format_args
has to be used.
explicit operator bool() const noexcept; |
Checks whether *this
holds a formatting argument.
Returns true
if *this
holds a formatting argument (i.e. the stored object does not have type std::monostate
), false
otherwise.
(C++20)(C++20)(C++20) | class that provides access to all formatting arguments (class template) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/format/basic_format_arg