diff --git a/adobe/conversion.hpp b/adobe/conversion.hpp index 297291c1..95e6871e 100644 --- a/adobe/conversion.hpp +++ b/adobe/conversion.hpp @@ -19,55 +19,43 @@ namespace adobe { template struct promote { - typedef T type; + using type = T; }; template <> -struct promote { - typedef double type; +struct promote { + using type = double; }; template <> -struct promote { - typedef double type; +struct promote { + using type = double; }; template <> -struct promote { - typedef double type; +struct promote { + using type = double; }; template <> -struct promote { - typedef double type; +struct promote { + using type = double; }; template <> -struct promote { - typedef double type; +struct promote { + using type = double; }; template <> -struct promote { - typedef double type; +struct promote { + using type = double; }; template <> struct promote { - typedef double type; + using type = double; }; -// Under 64-bit Windows size_t and ptrdiff_t do not fall into the categories above, -// and can cause bad cast failures in any_regular_t when one presumes it would, as -// is the case in a 32-bit environment. By default, then, we emit an error when an -// attempt is made to promote these types. You can turn off the error by defining -// ADOBE_NO_MSVC64_PROMOTION_ERROR in your project. -#if defined(BOOST_MSVC) && defined(_M_X64) && !defined(ADOBE_NO_MSVC64_PROMOTION_ERROR) -template <> -struct promote {}; -template <> -struct promote {}; -#endif - template <> struct promote { - typedef std::string type; + using type = std::string; }; /**************************************************************************************************/