• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    variable
    <format>

    std::enable_nonlocking_formatter_optimization

    namespace std {
      template <class T>
      constexpr bool enable_nonlocking_formatter_optimization = false; // (1) C++26
    }
    

    概要

    std::print()std::println()の効率的な実装を有効にする。

    この値がtrueで定義される場合、文字列フォーマットされた文字列のストリームへの書き込み時に、余分な動的メモリ確保を行わない。

    とくに指定されない限り、標準ライブラリでstd::formatterの特殊化が定義される型に対して、各ヘッダは以下の特殊化を定義する:

    template<>
    inline constexpr bool enable_nonlocking_formatter_optimization<T> = true;
    

    Rangeに対しては、以下が定義される:

    template <ranges::input_range R>
      requires (format_kind<R> != range_format::disabled)
    inline constexpr bool enable_nonlocking_formatter_optimization<R> = false;
    

    std::pairおよびstd::tupleに対しては、以下が定義される:

    template <class... Ts>
    inline constexpr bool enable_nonlocking_formatter_optimization<pair-or-tuple<Ts...>> =
      (enable_nonlocking_formatter_optimization<Ts> && ...);
    

    備考

    バージョン

    言語

    • C++26

    処理系

    関連項目

    参照