summaryrefslogtreecommitdiff
path: root/boost/type_traits/detail/common_arithmetic_type.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/type_traits/detail/common_arithmetic_type.hpp')
-rw-r--r--boost/type_traits/detail/common_arithmetic_type.hpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/boost/type_traits/detail/common_arithmetic_type.hpp b/boost/type_traits/detail/common_arithmetic_type.hpp
index 7211002218..8c091583c5 100644
--- a/boost/type_traits/detail/common_arithmetic_type.hpp
+++ b/boost/type_traits/detail/common_arithmetic_type.hpp
@@ -35,12 +35,16 @@ template<> struct arithmetic_type<2>
typedef char (&result_type) [2];
};
+#ifndef BOOST_NO_INTRINSIC_WCHAR_T
+
template<> struct arithmetic_type<3>
{
typedef wchar_t type;
typedef char (&result_type) [3];
};
+#endif
+
// There are five standard signed integer types:
// “signed char”, “short int”, “int”, “long int”, and “long long int”.
@@ -170,7 +174,9 @@ private:
static arithmetic_type<1>::result_type select( arithmetic_type<1>::type );
static arithmetic_type<2>::result_type select( arithmetic_type<2>::type );
+#ifndef BOOST_NO_INTRINSIC_WCHAR_T
static arithmetic_type<3>::result_type select( arithmetic_type<3>::type );
+#endif
static arithmetic_type<4>::result_type select( arithmetic_type<4>::type );
static arithmetic_type<5>::result_type select( arithmetic_type<5>::type );
static arithmetic_type<6>::result_type select( arithmetic_type<6>::type );