std::complex< _Tp > Struct 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.
const complex__rep () const

Private Attributes

_Tp _M_real
_Tp _M_imag

Detailed Description

template<typename _Tp>
struct 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 115 of file complex.


Member Typedef Documentation

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

Value typedef.

Definition at line 118 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.


Member Function Documentation

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

Definition at line 311 of file complex.

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::__complex_abs(), std::__complex_arg(), std::__complex_cos(), std::__complex_cosh(), std::__complex_exp(), std::__complex_sin(), std::__complex_sinh(), std::__complex_sqrt(), std::_Norm_helper<>::_S_do_it(), std::conj(), 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==(), and std::pow().

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::__complex_abs(), std::__complex_arg(), std::__complex_cos(), std::__complex_cosh(), std::__complex_exp(), std::__complex_sin(), std::__complex_sinh(), std::__complex_sqrt(), std::_Norm_helper<>::_S_do_it(), std::conj(), 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(), and std::real().


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 struct was generated from the following file:
Generated on Tue Feb 2 16:59:24 2010 for GNU C++ STL by  doxygen 1.4.7