template<class T> constexpr complex(const T& re = T(), const T& im = T());
constexpr T real() const;
constexpr void real(T val);
constexpr T imag() const;
constexpr void imag(T val);