std::chrono::operator<<(std::chrono::month)

来自cppreference.com
< cpp‎ | chrono‎ | month
 
 
 
 
在标头 <chrono> 定义
template <class CharT, class Traits>

std::basic_ostream<CharT, Traits>&

operator<<(std::basic_ostream<CharT, Traits>& os, const std::chrono::month& m);
(C++20 起)

!m.ok() ,则插入 unsigned(m) 后随 " is not a valid month"os 。否则,构成由 m 所表示的月的,以与 os 关联的本地环境确定的缩写月份名组成的 std::basic_string<CharT> s ,并插入 sos 中。

等价于

return os << (m.ok() ?
    std::format(os.getloc(), STATICALLY_WIDEN<CharT>("{:L%b}"), m) :
    std::format(os.getloc(), STATICALLY_WIDEN<CharT>("{} is not a valid month"), unsigned(m)));

其中 STATICALLY_WIDEN<CharT>("...")CharTchar 则为 "..." ,而若 CharTwchar_t 则为 L"..."

返回值

os

注解

operator<< 主要为调试用途而设,对于格式化上的控制,请用 std::format

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 出版时的行为 正确行为
P2372R3 C++20 默认使用给定的本地环境 需要 L 以使用本地环境

参阅

(C++20)
在新 string 中存储参数的格式化表示
(函数模板)
std::formatter 的特化,按照提供的格式格式化 month
(类模板特化)