Namespaces
Variants

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

From cppreference.net
Определено в заголовочном файле <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 . В противном случае формирует std:: basic_string < CharT > s , состоящую из сокращенного названия месяца, представленного m , определяемого с использованием локали, связанной с os , и вставляет s в os .

Эквивалентно

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 > ( "..." ) это "..." если CharT это char , и L "..." если CharT это wchar_t .

Содержание

Возвращаемое значение

os

Примечания

Этот operator << в первую очередь предназначен для отладки. Для контроля над форматированием используйте std::format .

Отчёты о дефектах

Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.

DR Applied to Behavior as published Correct behavior
P2372R3 C++20 по умолчанию использовалась заданная локаль L необходим для использования заданной локали

Смотрите также

(C++20)
сохраняет форматированное представление аргументов в новой строке
(шаблон функции)
поддержка форматирования для month
(специализация шаблона класса)