Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

floating_point_promotion

template <class T>
struct floating_point_promotion
{
   typedef see-below type;
};

template <class T> using floating_point_promotion_t = typename floating_point_promotion<T>::type; // C++11 and above

type: If floating point promotion can be applied to an rvalue of type T, then applies floating point promotion to T and keeps cv-qualifiers of T, otherwise leaves T unchanged.

C++ Standard Reference: 4.6.

Header: #include <boost/type_traits/floating_point_promotion.hpp> or #include <boost/type_traits.hpp>

Table 1.21. Examples

Expression

Result Type

floating_point_promotion<float const>::type

double const

floating_point_promotion<float&>::type

float&

floating_point_promotion<short>::type

short


Compiler Compatibility: All current compilers are supported by this trait.


PrevUpHomeNext