]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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_MSVC) && (BOOST_MSVC == 1200)) \ | |
38 | || (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \ | |
39 | || (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER == 1200)) | |
40 | BOOST_TYPEOF_REGISTER_TYPE(unsigned __int8) | |
41 | BOOST_TYPEOF_REGISTER_TYPE(__int8) | |
42 | BOOST_TYPEOF_REGISTER_TYPE(unsigned __int16) | |
43 | BOOST_TYPEOF_REGISTER_TYPE(__int16) | |
44 | BOOST_TYPEOF_REGISTER_TYPE(unsigned __int32) | |
45 | BOOST_TYPEOF_REGISTER_TYPE(__int32) | |
46 | #ifdef __BORLANDC__ | |
47 | BOOST_TYPEOF_REGISTER_TYPE(unsigned __int64) | |
48 | BOOST_TYPEOF_REGISTER_TYPE(__int64) | |
49 | #endif | |
50 | #endif | |
51 | ||
52 | # if defined(BOOST_HAS_LONG_LONG) | |
53 | BOOST_TYPEOF_REGISTER_TYPE(::boost::ulong_long_type) | |
54 | BOOST_TYPEOF_REGISTER_TYPE(::boost::long_long_type) | |
55 | #elif defined(BOOST_HAS_MS_INT64) | |
56 | BOOST_TYPEOF_REGISTER_TYPE(unsigned __int64) | |
57 | BOOST_TYPEOF_REGISTER_TYPE(__int64) | |
58 | #endif | |
59 | ||
60 | BOOST_TYPEOF_REGISTER_TYPE(void) | |
61 | ||
62 | #endif//BOOST_TYPEOF_REGISTER_FUNDAMENTAL_HPP_INCLUDED |