1 // Copyright (C) 2004 Arkadiy Vertleyb 2 // Copyright (C) 2004 Peder Holt 3 // Use, modification and distribution is subject to the Boost Software 4 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt) 5 6 #ifndef BOOST_TYPEOF_REGISTER_FUNDAMENTAL_HPP_INCLUDED 7 #define BOOST_TYPEOF_REGISTER_FUNDAMENTAL_HPP_INCLUDED 8 9 #include <boost/typeof/typeof.hpp> 10 11 #include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP() 12 13 BOOST_TYPEOF_REGISTER_TYPE(unsigned char) 14 BOOST_TYPEOF_REGISTER_TYPE(unsigned short) 15 BOOST_TYPEOF_REGISTER_TYPE(unsigned int) 16 BOOST_TYPEOF_REGISTER_TYPE(unsigned long) 17 18 BOOST_TYPEOF_REGISTER_TYPE(signed char) 19 BOOST_TYPEOF_REGISTER_TYPE(signed short) 20 BOOST_TYPEOF_REGISTER_TYPE(signed int) 21 BOOST_TYPEOF_REGISTER_TYPE(signed long) 22 23 BOOST_TYPEOF_REGISTER_TYPE(bool) 24 BOOST_TYPEOF_REGISTER_TYPE(char) 25 26 BOOST_TYPEOF_REGISTER_TYPE(float) 27 BOOST_TYPEOF_REGISTER_TYPE(double) 28 BOOST_TYPEOF_REGISTER_TYPE(long double) 29 30 #ifndef BOOST_NO_INTRINSIC_WCHAR_T 31 // If the following line fails to compile and you're using the Intel 32 // compiler, see http://lists.boost.org/MailArchives/boost-users/msg06567.php, 33 // and define BOOST_NO_INTRINSIC_WCHAR_T on the command line. 34 BOOST_TYPEOF_REGISTER_TYPE(wchar_t) 35 #endif 36 37 #if (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \ 38 || (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER == 1200)) 39 BOOST_TYPEOF_REGISTER_TYPE(unsigned __int8) 40 BOOST_TYPEOF_REGISTER_TYPE(__int8) 41 BOOST_TYPEOF_REGISTER_TYPE(unsigned __int16) 42 BOOST_TYPEOF_REGISTER_TYPE(__int16) 43 BOOST_TYPEOF_REGISTER_TYPE(unsigned __int32) 44 BOOST_TYPEOF_REGISTER_TYPE(__int32) 45 #ifdef __BORLANDC__ 46 BOOST_TYPEOF_REGISTER_TYPE(unsigned __int64) 47 BOOST_TYPEOF_REGISTER_TYPE(__int64) 48 #endif 49 #endif 50 51 # if defined(BOOST_HAS_LONG_LONG) 52 BOOST_TYPEOF_REGISTER_TYPE(::boost::ulong_long_type) 53 BOOST_TYPEOF_REGISTER_TYPE(::boost::long_long_type) 54 #elif defined(BOOST_HAS_MS_INT64) 55 BOOST_TYPEOF_REGISTER_TYPE(unsigned __int64) 56 BOOST_TYPEOF_REGISTER_TYPE(__int64) 57 #endif 58 59 BOOST_TYPEOF_REGISTER_TYPE(void) 60 61 #endif//BOOST_TYPEOF_REGISTER_FUNDAMENTAL_HPP_INCLUDED 62