std::chrono::ambiguous_local_time
| Definiert in Header <chrono> |
||
| class ambiguous_local_time; |
(seit C++20) | |
Definiert einen Objekttyp, der als Ausnahme ausgelöst wird, um zu melden, dass versucht wurde, eine mehrdeutige 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 (wie die Konstruktoren von std::chrono::zoned_time, die eine std::chrono::local_time entgegennehmen), ausgelöst.
Vererbungdiagramm
Inhalt |
[bearbeiten] Member-Funktionen
| (Konstruktor) |
konstruiert das Ausnahmeobjekt (öffentliche Memberfunktion) |
| operator= |
ersetzt das Ausnahmeobjekt (öffentliche Memberfunktion) |
| what |
gibt den erklärenden String zurück (öffentliche Memberfunktion) |
std::chrono::ambiguous_local_time::ambiguous_local_time
| template< class Duration > ambiguous_local_time( const std::chrono::local_time<Duration>& tp, |
(1) | (seit C++20) |
| ambiguous_local_time( const ambiguous_local_time& other ) noexcept; |
(2) | (seit C++20) |
Konstruiert das Ausnahmeobjekt.
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 beide den dynamischen Typ std::chrono::ambiguous_local_time haben, dann ist 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 |
| Sonstiges | - | ein anderer ambiguous_local_time zum Kopieren |
Ausnahmen
Kann std::bad_alloc auslösen
Anmerkungen
Da das Kopieren einer Standardbibliotheksklasse, die von std::exception abgeleitet ist, keine Ausnahmen auslösen darf, wird diese Nachricht typischerweise intern als separat zugeordneter referenzgekoppelter String gespeichert.
std::chrono::ambiguous_locale_time::operator=
| ambiguous_locale_time& operator=( const ambiguous_locale_time& other ) noexcept; |
(seit C++20) | |
Weist den Inhalt mit dem von other zu. Wenn *this und other beide den dynamischen Typ std::chrono::ambiguous_locale_time haben, dann ist std::strcmp(what(), other.what()) == 0 nach der Zuweisung.
Parameter
| Sonstiges | - | ein anderes Ausnahmeobjekt zum Zuweisen |
Rückgabewert
*this
std::chrono::ambiguous_locale_time::what
virtual const char* what() const noexcept; |
(seit C++20) | |
Gibt den erklärenden String zurück.
Rückgabewert
Zeiger auf einen implementierungsdefinierten, nullterminierten String mit erläuternden Informationen. Der String kann für die Konvertierung und Anzeige als std::wstring verwendet werden. Der Zeiger ist garantiert gültig, mindestens bis das Ausnahmeobjekt, von dem er stammt, zerstört wird, oder bis eine nicht-const Memberfunktion (z. B. der Kopierzuweisungsoperator) für das Ausnahmeobjekt aufgerufen wird.
|
Der zurückgegebene String ist während der konstanten Auswertung mit der gewöhnlichen Literal-Codierung kodiert. |
(seit C++26) |
Anmerkungen
Implementierungen dürfen what() überschreiben, sind aber nicht dazu verpflichtet.
Geerbt von std::runtime_error
Abgeleitet von std::exception
Memberfunktionen
| [virtuell] |
zerstört das Ausnahmeobjekt (virtuelle öffentliche Memberfunktion von std::exception) |
| [virtuell] |
gibt einen erklärenden String zurück (virtuelle öffentliche Memberfunktion von std::exception) |
[bearbeiten] Siehe auch
| (C++20) |
Ausnahme, die geworfen wird, um zu melden, dass eine Lokalzeit nicht existiert (Klasse) |