Spec-Zone.ru › C++

std::chrono::operator<<(std::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. В противном случае формирует 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 Применено к Поведение, опубликованное Правильное поведение
P2372R3 C++20 данная локаль использовалась по умолчанию L необходимо для использования заданной локали

См. также

format
(C++20)
сохраняет отформатированное представление аргументов в новой строке
(функция-шаблон)
std::formatter<std::chrono::month>
(C++20)
поддержка форматирования для month
(специализация шаблона класса)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/chrono/month/operator_ltlt

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API