A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://en.cppreference.com/w/cpp/utility/format/enable_nonlocking_formatter_optimization.html below:

std::enable_nonlocking_formatter_optimization - cppreference.com

template< class T >
constexpr bool enable_nonlocking_formatter_optimization = false;

(since C++23)

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

If std::enable_nonlocking_formatter_optimization<T> is true, printing 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:

[edit] 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<>
constexpr bool enable_nonlocking_formatter_optimization<CharT> = true;

(1)

Nonlocking flag for string formatters

template<>
constexpr bool enable_nonlocking_formatter_optimization<CharT*> = true;

(2)

template<>
constexpr bool enable_nonlocking_formatter_optimization<const CharT*> = true;

(3) template< std::size_t N >
constexpr bool enable_nonlocking_formatter_optimization<CharT[N]> = true;
(4) template< class Traits, class Alloc >

constexpr bool enable_nonlocking_formatter_optimization

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

constexpr bool enable_nonlocking_formatter_optimization

    <std::basic_string_view<CharT, Traits>> = true;
(6)

Nonlocking flag for arithmetic formatters

template<>
constexpr bool enable_nonlocking_formatter_optimization<ArithmeticT> = true;

(7)

Nonlocking flag for pointer formatters

template<>
constexpr bool enable_nonlocking_formatter_optimization<std::nullptr_t> = true;
(8)

template<>
constexpr bool enable_nonlocking_formatter_optimization<void*> = true;

(9)

template<>
constexpr bool enable_nonlocking_formatter_optimization<const void*> = true;

(10) [edit] Standard specializations for library types

Specializations of enable_nonlocking_formatter_optimization for all specializations of the following standard templates are defined as true:

Specializations of enable_nonlocking_formatter_optimization for all specializations of the following standard templates are defined as conditionally true:

Specialization of enable_nonlocking_formatter_optimization for all formattable range types are always defined as false for which the range format kind is not std::range_format::disabled.

[edit] Notes Feature-test macro Value Std Feature __cpp_lib_print 202403L (C++26)
(DR23) Formatted output with stream locking 202406L (C++26)
(DR23) Enabling nonlocking formatter optimization for more formattable types [edit] See also defines formatting rules for a given type
(class template) [edit] prints to stdout or a file stream using formatted representation of the arguments
(function template) [edit] same as std::print except that each print is terminated by additional new line
(function template) [edit]

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4