std::complex< _Tp > Class Template Reference

List of all members.

Public Types

typedef _Tp value_type
 Value typedef.


Public Member Functions

 complex (const _Tp &=_Tp(), const _Tp &=_Tp())
template<typename _Up>  complex (const complex< _Up > &)
 Copy constructor.

_Tp & real ()
 Return real part of complex number.

const _Tp & real () const
 Return real part of complex number.

_Tp & imag ()
 Return imaginary part of complex number.

const _Tp & imag () const
 Return imaginary part of complex number.

complex< _Tp > & operator= (const _Tp &)
 Assign this complex number to scalar t.

complex< _Tp > & operator+= (const _Tp &)
 Add t to this complex number.

complex< _Tp > & operator-= (const _Tp &)
 Subtract t from this complex number.

complex< _Tp > & operator *= (const _Tp &)
 Multiply this complex number by t.

complex< _Tp > & operator/= (const _Tp &)
 Divide this complex number by t.

template<typename _Up> complex< _Tp > & operator= (const complex< _Up > &)
 Assign this complex number to complex z.

template<typename _Up> complex< _Tp > & operator+= (const complex< _Up > &)
 Add z to this complex number.

template<typename _Up> complex< _Tp > & operator-= (const complex< _Up > &)
 Subtract z from this complex number.

template<typename _Up> complex< _Tp > & operator *= (const complex< _Up > &)
 Multiply this complex number by z.

template<typename _Up> complex< _Tp > & operator/= (const complex< _Up > &)
 Divide this complex number by z.


Private Attributes

_Tp _M_real
_Tp _M_imag

Detailed Description

template<typename _Tp>
class std::complex< _Tp >

Template to represent complex numbers.

Specializations for float, double, and long double are part of the library. Results with any other type are not guaranteed.

Parameters:
Tp Type of real and imaginary values.

Definition at line 116 of file complex.


Member Typedef Documentation

template<typename _Tp>
typedef _Tp std::complex< _Tp >::value_type
 

Value typedef.

Definition at line 120 of file complex.


Constructor & Destructor Documentation

template<typename _Tp>
std::complex< _Tp >::complex const _Tp &  = _Tp(),
const _Tp &  = _Tp()
[inline]
 

Default constructor. First parameter is x, second parameter is y. Unspecified parameters default to 0.

Definition at line 194 of file complex.

template<typename _Tp>
template<typename _Up>
std::complex< _Tp >::complex const complex< _Up > &   )  [inline]
 

Copy constructor.

Definition at line 200 of file complex.

References std::imag(), and std::real().


Member Function Documentation

template<typename _Tp>
const _Tp & std::complex< _Tp >::imag  )  const [inline]
 

Return imaginary part of complex number.

Definition at line 190 of file complex.

References std::complex< _Tp >::_M_imag.

template<typename _Tp>
_Tp & std::complex< _Tp >::imag  )  [inline]
 

Return imaginary part of complex number.

Definition at line 186 of file complex.

References std::complex< _Tp >::_M_imag.

Referenced by std::_Norm_helper<>::_S_do_it(), std::abs(), std::arg(), std::complex< double >::complex(), std::conj(), std::cos(), std::cosh(), std::exp(), std::imag(), std::complex< long double >::operator *=(), std::complex< double >::operator *=(), std::complex< float >::operator *=(), std::complex< _Tp >::operator *=(), std::operator!=(), std::complex< long double >::operator+=(), std::complex< double >::operator+=(), std::complex< float >::operator+=(), std::complex< _Tp >::operator+=(), std::operator-(), std::complex< long double >::operator-=(), std::complex< double >::operator-=(), std::complex< float >::operator-=(), std::complex< _Tp >::operator-=(), std::complex< long double >::operator/=(), std::complex< double >::operator/=(), std::complex< float >::operator/=(), std::complex< _Tp >::operator/=(), std::complex< long double >::operator=(), std::complex< double >::operator=(), std::complex< float >::operator=(), std::complex< _Tp >::operator=(), std::operator==(), std::pow(), std::sin(), std::sinh(), and std::sqrt().

template<typename _Tp>
template<typename _Up>
complex< _Tp > & std::complex< _Tp >::operator *= const complex< _Up > &   ) 
 

Multiply this complex number by z.

Definition at line 287 of file complex.

References std::complex< _Tp >::_M_imag, std::complex< _Tp >::_M_real, std::complex< _Tp >::imag(), and std::complex< _Tp >::real().

template<typename _Tp>
complex< _Tp > & std::complex< _Tp >::operator *= const _Tp &   ) 
 

Multiply this complex number by t.

Definition at line 233 of file complex.

References std::complex< _Tp >::_M_imag, and std::complex< _Tp >::_M_real.

template<typename _Tp>
template<typename _Up>
complex< _Tp > & std::complex< _Tp >::operator+= const complex< _Up > &   ) 
 

Add z to this complex number.

Definition at line 264 of file complex.

References std::complex< _Tp >::_M_imag, std::complex< _Tp >::_M_real, std::complex< _Tp >::imag(), and std::complex< _Tp >::real().

template<typename _Tp>
complex< _Tp > & std::complex< _Tp >::operator+= const _Tp &   )  [inline]
 

Add t to this complex number.

Definition at line 215 of file complex.

References std::complex< _Tp >::_M_real.

template<typename _Tp>
template<typename _Up>
complex< _Tp > & std::complex< _Tp >::operator-= const complex< _Up > &   ) 
 

Subtract z from this complex number.

Definition at line 275 of file complex.

References std::complex< _Tp >::_M_imag, std::complex< _Tp >::_M_real, std::complex< _Tp >::imag(), and std::complex< _Tp >::real().

template<typename _Tp>
complex< _Tp > & std::complex< _Tp >::operator-= const _Tp &   )  [inline]
 

Subtract t from this complex number.

Definition at line 224 of file complex.

References std::complex< _Tp >::_M_real.

template<typename _Tp>
template<typename _Up>
complex< _Tp > & std::complex< _Tp >::operator/= const complex< _Up > &   ) 
 

Divide this complex number by z.

Definition at line 300 of file complex.

References std::complex< _Tp >::_M_imag, std::complex< _Tp >::_M_real, std::complex< _Tp >::imag(), std::norm(), and std::complex< _Tp >::real().

template<typename _Tp>
complex< _Tp > & std::complex< _Tp >::operator/= const _Tp &   ) 
 

Divide this complex number by t.

Definition at line 243 of file complex.

References std::complex< _Tp >::_M_imag, and std::complex< _Tp >::_M_real.

template<typename _Tp>
template<typename _Up>
complex< _Tp > & std::complex< _Tp >::operator= const complex< _Up > &   ) 
 

Assign this complex number to complex z.

Definition at line 253 of file complex.

References std::complex< _Tp >::_M_imag, std::complex< _Tp >::_M_real, std::complex< _Tp >::imag(), and std::complex< _Tp >::real().

template<typename _Tp>
complex< _Tp > & std::complex< _Tp >::operator= const _Tp &   ) 
 

Assign this complex number to scalar t.

Definition at line 205 of file complex.

References std::complex< _Tp >::_M_imag, and std::complex< _Tp >::_M_real.

template<typename _Tp>
const _Tp & std::complex< _Tp >::real  )  const [inline]
 

Return real part of complex number.

Definition at line 182 of file complex.

References std::complex< _Tp >::_M_real.

template<typename _Tp>
_Tp & std::complex< _Tp >::real  )  [inline]
 

Return real part of complex number.

Definition at line 178 of file complex.

References std::complex< _Tp >::_M_real.

Referenced by std::_Norm_helper<>::_S_do_it(), std::abs(), std::arg(), std::complex< double >::complex(), std::conj(), std::cos(), std::cosh(), std::exp(), std::complex< long double >::operator *=(), std::complex< double >::operator *=(), std::complex< float >::operator *=(), std::complex< _Tp >::operator *=(), std::operator!=(), std::operator+(), std::complex< long double >::operator+=(), std::complex< double >::operator+=(), std::complex< float >::operator+=(), std::complex< _Tp >::operator+=(), std::operator-(), std::complex< long double >::operator-=(), std::complex< double >::operator-=(), std::complex< float >::operator-=(), std::complex< _Tp >::operator-=(), std::complex< long double >::operator/=(), std::complex< double >::operator/=(), std::complex< float >::operator/=(), std::complex< _Tp >::operator/=(), std::complex< long double >::operator=(), std::complex< double >::operator=(), std::complex< float >::operator=(), std::complex< _Tp >::operator=(), std::operator==(), std::pow(), std::real(), std::sin(), std::sinh(), and std::sqrt().


Member Data Documentation

template<typename _Tp>
_Tp std::complex< _Tp >::_M_imag [private]
 

Definition at line 173 of file complex.

Referenced by std::complex< _Tp >::imag(), std::complex< _Tp >::operator *=(), std::complex< _Tp >::operator+=(), std::complex< _Tp >::operator-=(), std::complex< _Tp >::operator/=(), and std::complex< _Tp >::operator=().

template<typename _Tp>
_Tp std::complex< _Tp >::_M_real [private]
 

Definition at line 172 of file complex.

Referenced by std::complex< _Tp >::operator *=(), std::complex< _Tp >::operator+=(), std::complex< _Tp >::operator-=(), std::complex< _Tp >::operator/=(), std::complex< _Tp >::operator=(), and std::complex< _Tp >::real().


The documentation for this class was generated from the following file:
Generated on Tue Jan 30 17:32:16 2007 for GNU C++ STL by doxygen 1.3.6