std::tuple_element<std::complex>
Von cppreference.com
| Definiert in der Header-Datei <complex> |
||
| template< std::size_t I, class T > struct tuple_element<I, std::complex<T>>; |
(seit C++26) | |
Die partiellen Spezialisierungen von std::tuple_element für std::complex bieten zur Kompilierzeit Zugriff auf den zugrunde liegenden realen und imaginären Zahlentyp einer complex-Zahl unter Verwendung einer tupelähnlichen Syntax. Sie werden zur Unterstützung von strukturierten Bindungen bereitgestellt. Das Programm ist ill-formed, wenn I >= 2.
Inhalt |
[bearbeiten] Mitgliedertypen
| Mitgliedertyp | Definition |
type
|
T
|
[bearbeiten] Anmerkungen
| Feature-Test-Makro | Wert | Std | Feature |
|---|---|---|---|
__cpp_lib_tuple_like |
202311L |
(C++26) | Hinzufügen des Tuple-Protokolls zu std::complex |
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#include <complex> #include <type_traits> static_assert([z = std::complex<float>()] { using T = decltype(z); return #if __cpp_lib_tuple_like >= 202311L std::is_same_v<std::tuple_element_t<0, T>, float> && std::is_same_v<std::tuple_element_t<1, T>, float> && #endif std::is_same_v<T::value_type, float>; }()); int main() {}
[bearbeiten] Siehe auch
| Strukturierte Bindung (C++17) | bindet die angegebenen Namen an Unterobjekte oder Tuple-Elemente des Initialisierers |
| (C++11) |
erhält die Elementtypen eines Tupel-ähnlichen Typs (Klassenvorlage) |
| gibt die Größe eines std::complex zurück (class template specialization) | |
| (C++26) |
erhält eine Referenz auf den realen oder imaginären Teil von std::complex (function template) |