[complex.tuple] # 29 Numerics library [[numerics]](./#numerics) ## 29.4 Complex numbers [[complex.numbers]](complex.numbers#complex.tuple) ### 29.4.9 Tuple interface [complex.tuple] [🔗](#lib:tuple_size) `template struct tuple_size> : integral_constant {}; template struct tuple_element> { using type = T; }; ` [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L1143) *Mandates*: I < 2 is true[.](#1.sentence-1) [🔗](#lib:get,complex) `template constexpr T& get(complex& z) noexcept; template constexpr T&& get(complex&& z) noexcept; template constexpr const T& get(const complex& z) noexcept; template constexpr const T&& get(const complex&& z) noexcept; ` [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L1161) *Mandates*: I < 2 is true[.](#2.sentence-1) [3](#3) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L1165) *Returns*: A reference to the real part of z if I == 0 is true, otherwise a reference to the imaginary part of z[.](#3.sentence-1)