Ugly, not-to-be-pushed sucking in of all of Boost to get windows to work.
[dyninst.git] / external / boost / integer_fwd.hpp
1 //  Boost integer_fwd.hpp header file  ---------------------------------------//
2
3 //  (C) Copyright Dave Abrahams and Daryle Walker 2001. Distributed under the Boost
4 //  Software License, Version 1.0. (See accompanying file
5 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
7 //  See http://www.boost.org/libs/integer for documentation.
8
9 #ifndef BOOST_INTEGER_FWD_HPP
10 #define BOOST_INTEGER_FWD_HPP
11
12 #include <climits>  // for UCHAR_MAX, etc.
13 #include <cstddef>  // for std::size_t
14
15 #include <boost/config.hpp>  // for BOOST_NO_INTRINSIC_WCHAR_T
16 #include <boost/limits.hpp>  // for std::numeric_limits
17
18
19 namespace boost
20 {
21
22
23 //  From <boost/cstdint.hpp>  ------------------------------------------------//
24
25 // Only has typedefs or using statements, with #conditionals
26
27
28 //  From <boost/integer_traits.hpp>  -----------------------------------------//
29
30 template < class T >
31     class integer_traits;
32
33 template <  >
34     class integer_traits< bool >;
35
36 template <  >
37     class integer_traits< char >;
38
39 template <  >
40     class integer_traits< signed char >;
41
42 template <  >
43     class integer_traits< unsigned char >;
44
45 #ifndef BOOST_NO_INTRINSIC_WCHAR_T
46 template <  >
47     class integer_traits< wchar_t >;
48 #endif
49
50 template <  >
51     class integer_traits< short >;
52
53 template <  >
54     class integer_traits< unsigned short >;
55
56 template <  >
57     class integer_traits< int >;
58
59 template <  >
60     class integer_traits< unsigned int >;
61
62 template <  >
63     class integer_traits< long >;
64
65 template <  >
66     class integer_traits< unsigned long >;
67
68 #ifdef ULLONG_MAX
69 template <  >
70     class integer_traits<  ::boost::long_long_type>;
71
72 template <  >
73     class integer_traits<  ::boost::ulong_long_type >;
74 #endif
75
76
77 //  From <boost/integer.hpp>  ------------------------------------------------//
78
79 template < typename LeastInt >
80     struct int_fast_t;
81
82 template< int Bits >
83     struct int_t;
84
85 template< int Bits >
86     struct uint_t;
87
88 template< long MaxValue >
89     struct int_max_value_t;
90
91 template< long MinValue >
92     struct int_min_value_t;
93
94 template< unsigned long Value >
95     struct uint_value_t;
96
97
98 //  From <boost/integer/integer_mask.hpp>  -----------------------------------//
99
100 template < std::size_t Bit >
101     struct high_bit_mask_t;
102
103 template < std::size_t Bits >
104     struct low_bits_mask_t;
105
106 template <  >
107     struct low_bits_mask_t< ::std::numeric_limits<unsigned char>::digits >;
108
109 #if USHRT_MAX > UCHAR_MAX
110 template <  >
111     struct low_bits_mask_t< ::std::numeric_limits<unsigned short>::digits >;
112 #endif
113
114 #if UINT_MAX > USHRT_MAX
115 template <  >
116     struct low_bits_mask_t< ::std::numeric_limits<unsigned int>::digits >;
117 #endif
118
119 #if ULONG_MAX > UINT_MAX
120 template <  >
121     struct low_bits_mask_t< ::std::numeric_limits<unsigned long>::digits >;
122 #endif
123
124
125 //  From <boost/integer/static_log2.hpp>  ------------------------------------//
126
127 template < unsigned long Value >
128     struct static_log2;
129
130 template <  >
131     struct static_log2< 0ul >;
132
133
134 //  From <boost/integer/static_min_max.hpp>  ---------------------------------//
135
136 template < long Value1, long Value2 >
137     struct static_signed_min;
138
139 template < long Value1, long Value2 >
140     struct static_signed_max;
141
142 template < unsigned long Value1, unsigned long Value2 >
143     struct static_unsigned_min;
144
145 template < unsigned long Value1, unsigned long Value2 >
146     struct static_unsigned_max;
147
148
149 }  // namespace boost
150
151
152 #endif  // BOOST_INTEGER_FWD_HPP