~ubuntu-branches/ubuntu/warty/aqsis/warty

« back to all changes in this revision

Viewing changes to boost/boost/type_traits/is_integral.hpp

  • Committer: Bazaar Package Importer
  • Author(s): LaMont Jones
  • Date: 2004-08-24 07:25:04 UTC
  • Revision ID: james.westby@ubuntu.com-20040824072504-zf993vnevvisdsvb
Tags: upstream-0.9.1
ImportĀ upstreamĀ versionĀ 0.9.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
 
3
// Permission to copy, use, modify, sell and distribute this software is 
 
4
// granted provided this copyright notice appears in all copies. This software 
 
5
// is provided "as is" without express or implied warranty, and with no claim 
 
6
// as to its suitability for any purpose.
 
7
//
 
8
// See http://www.boost.org for most recent version including documentation.
 
9
 
 
10
#ifndef BOOST_TT_IS_INTEGRAL_HPP_INCLUDED
 
11
#define BOOST_TT_IS_INTEGRAL_HPP_INCLUDED
 
12
 
 
13
#include "boost/config.hpp"
 
14
 
 
15
// should be the last #include
 
16
#include "boost/type_traits/detail/bool_trait_def.hpp"
 
17
 
 
18
namespace boost {
 
19
 
 
20
//* is a type T an [cv-qualified-] integral type described in the standard (3.9.1p3)
 
21
// as an extention we include long long, as this is likely to be added to the
 
22
// standard at a later date
 
23
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_integral,T,false)
 
24
 
 
25
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned char,true)
 
26
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned short,true)
 
27
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned int,true)
 
28
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned long,true)
 
29
 
 
30
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed char,true)
 
31
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed short,true)
 
32
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed int,true)
 
33
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed long,true)
 
34
 
 
35
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,bool,true)
 
36
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,char,true)
 
37
 
 
38
#ifndef BOOST_NO_INTRINSIC_WCHAR_T
 
39
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,wchar_t,true)
 
40
#endif
 
41
 
 
42
#if (defined(BOOST_MSVC) && (BOOST_MSVC == 1200)) || (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600))
 
43
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int8,true)
 
44
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int8,true)
 
45
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int16,true)
 
46
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int16,true)
 
47
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int32,true)
 
48
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int32,true)
 
49
#endif
 
50
 
 
51
# if defined(BOOST_HAS_LONG_LONG)
 
52
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned long long,true)
 
53
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,long long,true)
 
54
#elif defined(BOOST_HAS_MS_INT64)
 
55
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int64,true)
 
56
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int64,true)
 
57
#endif
 
58
 
 
59
} // namespace boost
 
60
 
 
61
#include "boost/type_traits/detail/bool_trait_undef.hpp"
 
62
 
 
63
#endif // BOOST_TT_IS_INTEGRAL_HPP_INCLUDED