table of contents
std::basic_format_arg(3) | C++ Standard Libary | std::basic_format_arg(3) |
NAME¶
std::basic_format_arg - std::basic_format_arg
Synopsis¶
Defined in header <format>
template<class Context> (since C++20)
class basic_format_arg;
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
Member classes¶
Type Definition
handle type-erased wrapper that allows formatting an object of user-defined
type
(class)
Member functions¶
constructor constructs a std::basic_format_arg
(public member function)
operator bool checks if the current object holds a formatting argument
(public member function)
Non-member functions¶
visit_format_arg argument visitation interface for user-defined
formatters
(C++20) (function template)
std::basic_format_arg::handle
template<class Context>
class basic_format_arg<Context>::handle;
Allows formatting an object of a user-defined type.
Member functions¶
format formats the referenced object with the given contexts
(public member function)
std::basic_format_arg::handle::format
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 const
T& that
refers 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));
std::basic_format_arg::basic_format_arg
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.
std::basic_format_arg::operator bool
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.
Example¶
This section is incomplete
Reason: no example
See also¶
2022.07.31 | http://cppreference.com |