std::chrono:: ambiguous_local_time
|
Определено в заголовке
<chrono>
|
||
|
class
ambiguous_local_time
;
|
(начиная с C++20) | |
Определяет тип объекта, который будет выброшен как исключение для сообщения о попытке преобразования неоднозначного
std::chrono::local_time
в
std::chrono::sys_time
без указания
std::chrono::choose
(такого как
choose::earliest
или
choose::latest
).
Это исключение выбрасывается функцией std::chrono::time_zone::to_sys и функциями, которые её вызывают (такими как конструкторы std::chrono::zoned_time , принимающие аргумент типа std::chrono::local_time ).
Диаграмма наследования
Содержание |
Функции-члены
|
(constructor)
|
конструирует объект исключения
(public member function) |
|
operator=
|
заменяет объект исключения
(public member function) |
|
what
|
возвращает поясняющую строку
(public member function) |
std::chrono::ambiguous_local_time:: ambiguous_local_time
|
template
<
class
Duration
>
ambiguous_local_time
(
const
std::
chrono
::
local_time
<
Duration
>
&
tp,
|
(1) | (since C++20) |
|
ambiguous_local_time
(
const
ambiguous_local_time
&
other
)
noexcept
;
|
(2) | (since C++20) |
Создает объект исключения.
std::ostringstream os; os << tp << " is ambiguous. It could be\n" << tp << ' ' << i.first.abbrev << " == " << tp - i.first.offset << " UTC or\n" << tp << ' ' << i.second.abbrev << " == " << tp - i.second.offset << " UTC";
other
оба имеют динамический тип
std::chrono::ambiguous_local_time
, то
std::
strcmp
(
what
(
)
, other.
what
(
)
)
==
0
.
Параметры
| tp | - | момент времени, для которого выполнялось преобразование |
| i | - | объект std::chrono::local_info , описывающий результат попытки преобразования |
| other | - |
другой объект
ambiguous_local_time
для копирования
|
Исключения
Может выбрасывать std::bad_alloc
Примечания
Поскольку копирование классов стандартной библиотеки, производных от std::exception , не должно вызывать исключения, это сообщение обычно хранится внутри как отдельно выделенная строка с подсчетом ссылок.
std::chrono::ambiguous_locale_time:: operator=
|
ambiguous_locale_time
&
operator
=
(
const
ambiguous_locale_time
&
other
)
noexcept
;
|
(since C++20) | |
Присваивает содержимое объекта
other
. Если
*
this
и
other
оба имеют динамический тип
std::chrono::ambiguous_locale_time
, то после присваивания
std::
strcmp
(
what
(
)
, other.
what
(
)
)
==
0
.
Параметры
| other | - | другой объект исключения для присваивания |
Возвращаемое значение
* this
std::chrono::ambiguous_locale_time:: what
|
virtual
const
char
*
what
(
)
const
noexcept
;
|
(since C++20) | |
Возвращает пояснительную строку.
Возвращаемое значение
Указатель на определяемую реализацией нуль-терминированную строку с пояснительной информацией. Строка подходит для преобразования и отображения как std::wstring . Гарантируется, что указатель остается действительным по крайней мере до тех пор, пока не будет уничтожен объект исключения, из которого он получен, или пока не будет вызвана неконстантная функция-член (например, оператор присваивания копированием) для объекта исключения.
Примечания
Реализациям разрешено, но не требуется, переопределять
what()
.
Унаследовано от std:: runtime_error
Унаследовано от std:: exception
Функции-члены
|
[virtual]
|
уничтожает объект исключения
(виртуальная публичная функция-член
std::exception
)
|
|
[virtual]
|
возвращает поясняющую строку
(виртуальная публичная функция-член
std::exception
)
|
Смотрите также
|
(C++20)
|
исключение, выбрасываемое для сообщения о том, что локальное время не существует
(класс) |