summaryrefslogtreecommitdiff
path: root/boost/lexical_cast/detail/is_character.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/lexical_cast/detail/is_character.hpp')
-rw-r--r--boost/lexical_cast/detail/is_character.hpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/boost/lexical_cast/detail/is_character.hpp b/boost/lexical_cast/detail/is_character.hpp
index e967f58525..732c39f8e8 100644
--- a/boost/lexical_cast/detail/is_character.hpp
+++ b/boost/lexical_cast/detail/is_character.hpp
@@ -23,6 +23,7 @@
# pragma once
#endif
+#include <boost/mpl/bool.hpp>
#include <boost/type_traits/is_same.hpp>
namespace boost {
@@ -33,22 +34,22 @@ namespace boost {
template < typename T >
struct is_character
{
- typedef boost::type_traits::ice_or<
- boost::is_same< T, char >::value,
+ typedef BOOST_DEDUCED_TYPENAME boost::mpl::bool_<
+ boost::is_same< T, char >::value ||
#if !defined(BOOST_NO_STRINGSTREAM) && !defined(BOOST_NO_STD_WSTRING)
- boost::is_same< T, wchar_t >::value,
+ boost::is_same< T, wchar_t >::value ||
#endif
#ifndef BOOST_NO_CXX11_CHAR16_T
- boost::is_same< T, char16_t >::value,
+ boost::is_same< T, char16_t >::value ||
#endif
#ifndef BOOST_NO_CXX11_CHAR32_T
- boost::is_same< T, char32_t >::value,
+ boost::is_same< T, char32_t >::value ||
#endif
- boost::is_same< T, unsigned char >::value,
- boost::is_same< T, signed char >::value
- > result_type;
+ boost::is_same< T, unsigned char >::value ||
+ boost::is_same< T, signed char >::value
+ > type;
- BOOST_STATIC_CONSTANT(bool, value = (result_type::value) );
+ BOOST_STATIC_CONSTANT(bool, value = (type::value) );
};
}
}