std::chrono:: nonexistent_local_time
|
Definiert im Header
<chrono>
|
||
|
class
nonexistent_local_time
;
|
(seit C++20) | |
Definiert eine Art von Objekt, das als Exception geworfen wird, um zu melden, dass versucht wurde, eine nicht existierende
std::chrono::local_time
in eine
std::chrono::sys_time
zu konvertieren, ohne eine
std::chrono::choose
(wie z.B.
choose::earliest
oder
choose::latest
) anzugeben.
Diese Ausnahme wird von std::chrono::time_zone::to_sys und Funktionen, die sie aufrufen, geworfen (wie die Konstruktoren von std::chrono::zoned_time , die eine std::chrono::local_time entgegennehmen).
Vererbungsdiagramm
Inhaltsverzeichnis |
Memberfunktionen
|
(constructor)
|
konstruiert das Exception-Objekt
(public member function) |
|
operator=
|
ersetzt das Exception-Objekt
(public member function) |
|
what
|
gibt den erklärenden String zurück
(public member function) |
std::chrono::nonexistent_local_time:: nonexistent_local_time
|
template
<
class
Duration
>
nonexistent_local_time
(
const
std::
chrono
::
local_time
<
Duration
>
&
tp,
|
(1) | (since C++20) |
|
nonexistent_local_time
(
const
nonexistent_local_time
&
other
)
noexcept
;
|
(2) | (since C++20) |
Konstruiert das Ausnahmeobjekt.
what()
zurückgegebene Erklärungszeichenkette entspricht der durch
os.str()
erzeugten nach folgendem Code:
std::ostringstream os; os << tp << " is in a gap between\n" << std::chrono::local_seconds(i.first.end.time_since_epoch()) + i.first.offset << ' ' << i.first.abbrev << " and\n" << std::chrono::local_seconds(i.second.begin.time_since_epoch()) + i.second.offset << ' ' << i.second.abbrev << " which are both equivalent to\n" << i.first.end << " UTC";
std::chrono::nonexistent_local_time
haben, dann gilt
std::
strcmp
(
what
(
)
, other.
what
(
)
)
==
0
.
Parameter
| tp | - | der Zeitpunkt, für den die Konvertierung versucht wurde |
| i | - | ein std::chrono::local_info , das das Ergebnis des Konvertierungsversuchs beschreibt |
| other | - |
ein weiteres
nonexistent_local_time
zum Kopieren
|
Ausnahmen
Kann std::bad_alloc werfen
Anmerkungen
Da das Kopieren einer von
std::exception
abgeleiteten Standardbibliotheksklasse keine Ausnahmen werfen darf, wird diese Nachricht typischerweise intern als separat allokierter referenzgezählter String gespeichert.
std::chrono::nonexistent_locale_time:: operator=
|
nonexistent_locale_time
&
operator
=
(
const
nonexistent_locale_time
&
other
)
noexcept
;
|
(seit C++20) | |
Weist die Inhalte mit denen von
other
zu. Wenn
*
this
und
other
beide den dynamischen Typ
std::chrono::nonexistent_locale_time
haben, dann gilt
std::
strcmp
(
what
(
)
, other.
what
(
)
)
==
0
nach der Zuweisung.
Parameter
| other | - | ein weiteres Ausnahmeobjekt zum Zuweisen |
Rückgabewert
* this
std::chrono::nonexistent_locale_time:: what
|
virtual
const
char
*
what
(
)
const
noexcept
;
|
(seit C++20) | |
Gibt den erläuternden String zurück.
Rückgabewert
Zeiger auf einen implementierungsdefinierten nullterminierten String mit erläuternden Informationen. Der String eignet sich zur Konvertierung und Anzeige als std::wstring . Der Zeiger ist garantiert mindestens so lange gültig, bis das Ausnahmeobjekt, von dem er erhalten wurde, zerstört wird, oder bis eine nicht-konstante Memberfunktion (z.B. Kopierzuweisungsoperator) auf dem Ausnahmeobjekt aufgerufen wird.
Anmerkungen
Implementierungen dürfen, sind aber nicht verpflichtet,
what()
zu überschreiben.
Geerbt von std:: runtime_error
Geerbt von std:: exception
Elementfunktionen
|
[virtual]
|
zerstört das Ausnahmeobjekt
(virtuelle öffentliche Elementfunktion von
std::exception
)
|
|
[virtual]
|
gibt einen erläuternden String zurück
(virtuelle öffentliche Elementfunktion von
std::exception
)
|
Siehe auch
|
(C++20)
|
Ausnahme, die geworfen wird, um zu melden, dass eine lokale Zeit mehrdeutig ist
(Klasse) |