blob: 2e72ef34fcf5c5ed8c833811e7f6bae3cfe2adc7 [file] [log] [blame]
Jeff Thompsona28eed82013-08-22 16:21:10 -07001// 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
Jeff Thompson3d613fd2013-10-15 15:39:04 -07006#ifndef NDNBOOST_TYPEOF_REGISTER_FUNDAMENTAL_HPP_INCLUDED
7#define NDNBOOST_TYPEOF_REGISTER_FUNDAMENTAL_HPP_INCLUDED
Jeff Thompsona28eed82013-08-22 16:21:10 -07008
9#include <ndnboost/typeof/typeof.hpp>
10
Jeff Thompson3d613fd2013-10-15 15:39:04 -070011#include NDNBOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
Jeff Thompsona28eed82013-08-22 16:21:10 -070012
Jeff Thompson3d613fd2013-10-15 15:39:04 -070013NDNBOOST_TYPEOF_REGISTER_TYPE(unsigned char)
14NDNBOOST_TYPEOF_REGISTER_TYPE(unsigned short)
15NDNBOOST_TYPEOF_REGISTER_TYPE(unsigned int)
16NDNBOOST_TYPEOF_REGISTER_TYPE(unsigned long)
Jeff Thompsona28eed82013-08-22 16:21:10 -070017
Jeff Thompson3d613fd2013-10-15 15:39:04 -070018NDNBOOST_TYPEOF_REGISTER_TYPE(signed char)
19NDNBOOST_TYPEOF_REGISTER_TYPE(signed short)
20NDNBOOST_TYPEOF_REGISTER_TYPE(signed int)
21NDNBOOST_TYPEOF_REGISTER_TYPE(signed long)
Jeff Thompsona28eed82013-08-22 16:21:10 -070022
Jeff Thompson3d613fd2013-10-15 15:39:04 -070023NDNBOOST_TYPEOF_REGISTER_TYPE(bool)
24NDNBOOST_TYPEOF_REGISTER_TYPE(char)
Jeff Thompsona28eed82013-08-22 16:21:10 -070025
Jeff Thompson3d613fd2013-10-15 15:39:04 -070026NDNBOOST_TYPEOF_REGISTER_TYPE(float)
27NDNBOOST_TYPEOF_REGISTER_TYPE(double)
28NDNBOOST_TYPEOF_REGISTER_TYPE(long double)
Jeff Thompsona28eed82013-08-22 16:21:10 -070029
Jeff Thompson3d613fd2013-10-15 15:39:04 -070030#ifndef NDNBOOST_NO_INTRINSIC_WCHAR_T
Jeff Thompsona28eed82013-08-22 16:21:10 -070031// 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,
Jeff Thompson3d613fd2013-10-15 15:39:04 -070033// and define NDNBOOST_NO_INTRINSIC_WCHAR_T on the command line.
34NDNBOOST_TYPEOF_REGISTER_TYPE(wchar_t)
Jeff Thompsona28eed82013-08-22 16:21:10 -070035#endif
36
Jeff Thompson3d613fd2013-10-15 15:39:04 -070037#if (defined(NDNBOOST_MSVC) && (NDNBOOST_MSVC == 1200)) \
38 || (defined(NDNBOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (NDNBOOST_INTEL_CXX_VERSION <= 600)) \
Jeff Thompsona28eed82013-08-22 16:21:10 -070039 || (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER == 1200))
Jeff Thompson3d613fd2013-10-15 15:39:04 -070040NDNBOOST_TYPEOF_REGISTER_TYPE(unsigned __int8)
41NDNBOOST_TYPEOF_REGISTER_TYPE(__int8)
42NDNBOOST_TYPEOF_REGISTER_TYPE(unsigned __int16)
43NDNBOOST_TYPEOF_REGISTER_TYPE(__int16)
44NDNBOOST_TYPEOF_REGISTER_TYPE(unsigned __int32)
45NDNBOOST_TYPEOF_REGISTER_TYPE(__int32)
Jeff Thompsona28eed82013-08-22 16:21:10 -070046#ifdef __BORLANDC__
Jeff Thompson3d613fd2013-10-15 15:39:04 -070047NDNBOOST_TYPEOF_REGISTER_TYPE(unsigned __int64)
48NDNBOOST_TYPEOF_REGISTER_TYPE(__int64)
Jeff Thompsona28eed82013-08-22 16:21:10 -070049#endif
50#endif
51
Jeff Thompson3d613fd2013-10-15 15:39:04 -070052# if defined(NDNBOOST_HAS_LONG_LONG)
53NDNBOOST_TYPEOF_REGISTER_TYPE(::ndnboost::ulong_long_type)
54NDNBOOST_TYPEOF_REGISTER_TYPE(::ndnboost::long_long_type)
55#elif defined(NDNBOOST_HAS_MS_INT64)
56NDNBOOST_TYPEOF_REGISTER_TYPE(unsigned __int64)
57NDNBOOST_TYPEOF_REGISTER_TYPE(__int64)
Jeff Thompsona28eed82013-08-22 16:21:10 -070058#endif
59
Jeff Thompson3d613fd2013-10-15 15:39:04 -070060NDNBOOST_TYPEOF_REGISTER_TYPE(void)
Jeff Thompsona28eed82013-08-22 16:21:10 -070061
Jeff Thompson3d613fd2013-10-15 15:39:04 -070062#endif//NDNBOOST_TYPEOF_REGISTER_FUNDAMENTAL_HPP_INCLUDED