]> git.lyx.org Git - lyx.git/blob - boost/boost/integer_fwd.hpp
major boost update
[lyx.git] / boost / boost / integer_fwd.hpp
1 //  Boost integer_fwd.hpp header file  ---------------------------------------//
2
3 //  (C) Copyright boost.org 2001.  Permission to copy, use, modify, sell
4 //  and distribute this software is granted provided this copyright
5 //  notice appears in all copies.  This software is provided "as is" without
6 //  express or implied warranty, and with no claim as to its suitability for
7 //  any purpose.
8
9 //  See http://www.boost.org for most recent version including documentation.
10
11 #ifndef BOOST_INTEGER_FWD_HPP
12 #define BOOST_INTEGER_FWD_HPP
13
14 #include <climits>  // for UCHAR_MAX, etc.
15 #include <cstddef>  // for std::size_t
16
17 #include <boost/config.hpp>  // for BOOST_NO_INTRINSIC_WCHAR_T
18 #include <boost/limits.hpp>  // for std::numeric_limits
19
20
21 namespace boost
22 {
23
24
25 //  From <boost/cstdint.hpp>  ------------------------------------------------//
26
27 // Only has typedefs or using statements, with #conditionals
28
29
30 //  From <boost/integer_traits.hpp>  -----------------------------------------//
31
32 template < class T >
33     class integer_traits;
34
35 template <  >
36     class integer_traits< bool >;
37
38 template <  >
39     class integer_traits< char >;
40
41 template <  >
42     class integer_traits< signed char >;
43
44 template <  >
45     class integer_traits< unsigned char >;
46
47 #ifndef BOOST_NO_INTRINSIC_WCHAR_T
48 template <  >
49     class integer_traits< wchar_t >;
50 #endif
51
52 template <  >
53     class integer_traits< short >;
54
55 template <  >
56     class integer_traits< unsigned short >;
57
58 template <  >
59     class integer_traits< int >;
60
61 template <  >
62     class integer_traits< unsigned int >;
63
64 template <  >
65     class integer_traits< long >;
66
67 template <  >
68     class integer_traits< unsigned long >;
69
70 #ifdef ULLONG_MAX
71 template <  >
72     class integer_traits< long long >;
73
74 template <  >
75     class integer_traits< unsigned long long >;
76 #endif
77
78
79 //  From <boost/integer.hpp>  ------------------------------------------------//
80
81 template < typename LeastInt >
82     struct int_fast_t;
83
84 template< int Bits >
85     struct int_t;
86
87 template< int Bits >
88     struct uint_t;
89
90 template< long MaxValue >
91     struct int_max_value_t;
92
93 template< long MinValue >
94     struct int_min_value_t;
95
96 template< unsigned long Value >
97     struct uint_value_t;
98
99
100 //  From <boost/integer/integer_mask.hpp>  -----------------------------------//
101
102 template < std::size_t Bit >
103     struct high_bit_mask_t;
104
105 template < std::size_t Bits >
106     struct low_bits_mask_t;
107
108 template <  >
109     struct low_bits_mask_t< ::std::numeric_limits<unsigned char>::digits >;
110
111 #if USHRT_MAX > UCHAR_MAX
112 template <  >
113     struct low_bits_mask_t< ::std::numeric_limits<unsigned short>::digits >;
114 #endif
115
116 #if UINT_MAX > USHRT_MAX
117 template <  >
118     struct low_bits_mask_t< ::std::numeric_limits<unsigned int>::digits >;
119 #endif
120
121 #if ULONG_MAX > UINT_MAX
122 template <  >
123     struct low_bits_mask_t< ::std::numeric_limits<unsigned long>::digits >;
124 #endif
125
126
127 //  From <boost/integer/static_log2.hpp>  ------------------------------------//
128
129 template < unsigned long Value >
130     struct static_log2;
131
132 template <  >
133     struct static_log2< 0ul >;
134
135
136 //  From <boost/integer/static_min_max.hpp>  ---------------------------------//
137
138 template < long Value1, long Value2 >
139     struct static_signed_min;
140
141 template < long Value1, long Value2 >
142     struct static_signed_max;
143
144 template < unsigned long Value1, unsigned long Value2 >
145     struct static_unsigned_min;
146
147 template < unsigned long Value1, unsigned long Value2 >
148     struct static_unsigned_max;
149
150
151 }  // namespace boost
152
153
154 #endif  // BOOST_INTEGER_FWD_HPP