Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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_for-
       mat_args	and accessed
	  through std::visit_format_arg
	  or the visit member functions
	  (since C++26).

	  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
	  handle   type-erased	wrapper	 that  allows  formatting an object of
       user-defined type
	  (C++20) (public member class)

Member functions
	  constructor	constructs a std::basic_format_arg
	  (C++20)	(public	member function)
	  operator bool	checks if the current object holds a formatting	 argu-
       ment
	  (C++20)	(public	member function)
	  visit		visit the stored formatting argument
	  (C++26)	(public	member function)

Non-member functions
	  visit_format_arg		  argument  visitation	interface  for
       user-defined
	  (C++20) (deprecated in C++26)	formatters
					(function template)

       std::basic_format_arg::basic_format_arg

	  basic_format_arg() noexcept;	(since C++20)

	  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;  (since C++20)

	  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.

       std::basic_format_arg::visit

	  template<		   class	       Visitor		     >
       (1) (since C++26)
	  decltype(auto) visit(	this basic_format_arg arg, Visitor&& vis );
	  template<	  class	       R,	 class	      Visitor	     >
       (2) (since C++26)
	  R visit( this	basic_format_arg arg, Visitor&&	vis );

	  Applies the visitor vis to the object	contained in arg.

	  The  visit  functions	 do  not modify	the basic_format_arg object on
       which it	is called
	  because a copy of the	object is used when calling vis.

	  1) Equivalent	to return std::visit(std::forward<Visitor>(vis),  v);,
       where v is the
	  std::variant stored in arg.
	  2)  Equivalent  to  return std::visit<R>(std::forward<Visitor>(vis),
       v);, where v is
	  the std::variant stored in arg.

Notes
	  Feature-test macro  Value    Std     Feature
	  __cpp_lib_format   202306L (C++26) Member visit

Example
	   This	section	is incomplete
	   Reason: no example

See also
	  basic_format_args
	  format_args
	  wformat_args	    class that provides	access to all formatting argu-
       ments
	  (C++20)	    (class template)
	  (C++20)
	  (C++20)

Category:
	    * Todo no example

http://cppreference.com		  2024.06.10	      std::basic_format_arg(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::basic_format_arg&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help