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

FreeBSD Manual Pages

  
 
  

home | help
std::enable...optimization(3) C++ Standard Libarystd::enable...optimization(3)

NAME
       std::enable_nonlocking_formatter_optimization   -  std::enable_nonlock-
       ing_formatter_optimization

Synopsis
	  Defined in header <format>
	  template<		    class		  T		     >
       (since C++23)
	  constexpr bool enable_nonlocking_formatter_optimization = false;

	  This template	can be used by implementations to enable efficient im-
       plementations of
	  std::print and std::println.

	  If  std::enable_nonlocking_formatter_optimization<T> is true,	print-
       ing an argument of
	  type T can be	performed in a more efficient way (see std::print  for
       details).
	  std::enable_nonlocking_formatter_optimization	specializations	can be
       true in the
	  following cases:

	    *  T  is  one  of the types	where std::format<T, CharT> is a basic
       standard
	      specialization (see below).
	    * A	program	may specialize this template  for  any	cv-unqualified
       program-defined
	      type  T. Such specializations must be usable in constant expres-
       sions and have
	      type const bool.

	  Basic	standard specializations

	  In the following list, CharT is either char or wchar_t,  ArithmeticT
       is any
	  cv-unqualified  arithmetic  type  other than char, wchar_t, char8_t,
       char16_t, or
	  char32_t:

	  Nonlocking flag for character	formatters
	  template<>
       (1)
	  inline    constexpr	 bool	 enable_nonlocking_formatter_optimiza-
       tion<CharT> = true;
	  Nonlocking flag for string formatters
	  template<>
       (2)
	  inline    constexpr	 bool	 enable_nonlocking_formatter_optimiza-
       tion<CharT*> = true;
	  template<>
	  inline constexpr bool	enable_nonlocking_formatter_optimization<const
       CharT*> = (3)
	  true;
	  template< std::size_t	N >
	  inline    constexpr	 bool	 enable_nonlocking_formatter_optimiza-
       tion<CharT[N]> =	    (4)
	  true;
	  template< class Traits, class	Alloc >

	  inline   constexpr   bool   enable_nonlocking_formatter_optimization
       (5)

	      <std::basic_string<CharT,	Traits,	Alloc>>	= true;
	  template< class Traits >

	  inline   constexpr   bool   enable_nonlocking_formatter_optimization
       (6)

	      <std::basic_string_view<CharT, Traits>> =	true;
	  Nonlocking flag for arithmetic formatters
	  template<>
	  inline    constexpr	 bool	 enable_nonlocking_formatter_optimiza-
       tion<ArithmeticT> =  (7)
	  true;
	  Nonlocking flag for pointer formatters
	  template<>
	  inline    constexpr	 bool	 enable_nonlocking_formatter_optimiza-
       tion<std::nullptr_t> (8)
	  = true;
	  template<>
       (9)
	  inline    constexpr	 bool	 enable_nonlocking_formatter_optimiza-
       tion<void*> = true;
	  template<>
	  inline constexpr bool	enable_nonlocking_formatter_optimization<const
       void*> =	 (10)
	  true;

See also
	  formatter defines formatting rules for a given type
	  (C++20)   (class template)
	  print	    prints to stdout or	a file stream using  formatted	repre-
       sentation of the
	  (C++23)   arguments
		    (function template)
	  println   same as std::print except that each	print is terminated by
       additional new
	  (C++23)   line
		    (function template)

http://cppreference.com		  2024.06.10	 std::enable...optimization(3)

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

home | help