upgrade_val< std::complex< T >, T2 > Struct Template Reference
[Traits]

upgrade a type to allow multiplication with a complex type e.g. the int in "int * complex<double>" is upgraded to a double More...

#include <traits.hpp>

List of all members.

Public Types

typedef std::complex< T > T1_result
typedef T T2_result

Static Public Member Functions

static arma_inline const
std::complex< T > & 
apply (const std::complex< T > &x)
static arma_inline const T apply (const T2 x)


Detailed Description

template<typename T, typename T2>
struct upgrade_val< std::complex< T >, T2 >

upgrade a type to allow multiplication with a complex type e.g. the int in "int * complex<double>" is upgraded to a double

Definition at line 669 of file traits.hpp.


Member Typedef Documentation

template<typename T , typename T2 >
typedef std::complex<T> upgrade_val< std::complex< T >, T2 >::T1_result

Definition at line 671 of file traits.hpp.

template<typename T , typename T2 >
typedef T upgrade_val< std::complex< T >, T2 >::T2_result

Definition at line 672 of file traits.hpp.


Member Function Documentation

template<typename T , typename T2 >
static arma_inline const std::complex<T>& upgrade_val< std::complex< T >, T2 >::apply ( const std::complex< T > &  x  )  [inline, static]

Definition at line 674 of file traits.hpp.

00674 { return x;    }

template<typename T , typename T2 >
static arma_inline const T upgrade_val< std::complex< T >, T2 >::apply ( const T2  x  )  [inline, static]

Definition at line 675 of file traits.hpp.

00675 { return T(x); }