File indexing completed on 2025-01-18 09:39:13
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 #ifndef BOOST_LEXICAL_CAST_DETAIL_IS_CHARACTER_HPP
0019 #define BOOST_LEXICAL_CAST_DETAIL_IS_CHARACTER_HPP
0020
0021 #include <boost/config.hpp>
0022 #ifdef BOOST_HAS_PRAGMA_ONCE
0023 # pragma once
0024 #endif
0025
0026 #include <boost/type_traits/integral_constant.hpp>
0027 #include <boost/type_traits/is_same.hpp>
0028
0029 namespace boost {
0030
0031 namespace detail
0032 {
0033
0034 template < typename T >
0035 struct is_character
0036 {
0037 typedef typename boost::integral_constant<
0038 bool,
0039 boost::is_same< T, char >::value ||
0040 #if !defined(BOOST_NO_STRINGSTREAM) && !defined(BOOST_NO_STD_WSTRING)
0041 boost::is_same< T, wchar_t >::value ||
0042 #endif
0043 #ifndef BOOST_NO_CXX11_CHAR16_T
0044 boost::is_same< T, char16_t >::value ||
0045 #endif
0046 #ifndef BOOST_NO_CXX11_CHAR32_T
0047 boost::is_same< T, char32_t >::value ||
0048 #endif
0049 boost::is_same< T, unsigned char >::value ||
0050 boost::is_same< T, signed char >::value
0051 > type;
0052
0053 BOOST_STATIC_CONSTANT(bool, value = (type::value) );
0054 };
0055 }
0056 }
0057
0058 #endif
0059