10#ifndef _TEUCHOS_PROMOTION_TRAITS_HPP_ 
   11#define _TEUCHOS_PROMOTION_TRAITS_HPP_ 
   17template <
class A, 
class B>
 
   24template <
class T> 
class PromotionTraits<T,T> {
 
   29#define PT_SPEC(type1,type2,type3) \ 
   30template <> class PromotionTraits< type1 , type2 > { \ 
   32    typedef type3 promote; \ 
   34template <> class PromotionTraits< type2 , type1 > { \ 
   36    typedef type3 promote; \ 
   39#ifdef HAVE_TEUCHOS_COMPLEX 
   40PT_SPEC(
double,std::complex<float>,std::complex<double>)
 
   41PT_SPEC(
float,std::complex<double>,std::complex<double>)
 
   42PT_SPEC(
float,std::complex<float>,std::complex<float>)
 
   43PT_SPEC(
double,std::complex<double>,std::complex<double>)
 
   45PT_SPEC(
double,
float,
double)
 
   46PT_SPEC(
double,
long,
double)
 
   47PT_SPEC(
double,
int,
double)
 
   48PT_SPEC(
float,
long,
float)
 
   49PT_SPEC(
float,
int,
float)
 
Teuchos header file which uses auto-configuration information to include necessary C++ headers.
 
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos,...