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