std::imag(std::complex)
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header  <complex>
  | 
||
| (1) | ||
|   template< class T >  T imag( const std::complex<T>& z );  | 
(until C++14) | |
|   template< class T >  constexpr T imag( const std::complex<T>& z );  | 
(since C++14) | |
| (2) | ||
|   float imag( float z ); template< class DoubleOrInteger >  | 
 (since C++11)  (until C++14)  | 
|
|   constexpr float imag( float z ); template< class DoubleOrInteger >  | 
(since C++14) | |
1) Returns the imaginary component of the complex number 
 z, i.e. z.imag().| 
 2) Additional overloads are provided for float, double, long double, and all integer types, which are treated as complex numbers with zero imaginary component. 
 | 
(since C++11) | 
Parameters
| z | - | complex value | 
Return value
the imaginary component of z
See also
|    accesses the imaginary part of the complex number  (public member function)  | |
|    returns the real component   (function template)  |