]> git.lyx.org Git - lyx.git/blob - boost/boost/integer_fwd.hpp
Make the default format translatable, and load the cite formats in
[lyx.git] / boost / 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 #include <boost/cstdint.hpp>  // For intmax_t
18
19
20 namespace boost
21 {
22
23 #ifdef BOOST_NO_INTEGRAL_INT64_T
24      typedef unsigned long static_log2_argument_type;
25      typedef          int  static_log2_result_type;
26      typedef long          static_min_max_signed_type;
27      typedef unsigned long static_min_max_unsigned_type;
28 #else
29      typedef boost::uintmax_t static_min_max_unsigned_type;
30      typedef boost::intmax_t  static_min_max_signed_type;
31      typedef boost::uintmax_t static_log2_argument_type;
32      typedef int              static_log2_result_type;
33 #endif
34
35 //  From <boost/cstdint.hpp>  ------------------------------------------------//
36
37 // Only has typedefs or using statements, with #conditionals
38
39
40 //  From <boost/integer_traits.hpp>  -----------------------------------------//
41
42 template < class T >
43     class integer_traits;
44
45 template <  >
46     class integer_traits< bool >;
47
48 template <  >
49     class integer_traits< char >;
50
51 template <  >
52     class integer_traits< signed char >;
53
54 template <  >
55     class integer_traits< unsigned char >;
56
57 #ifndef BOOST_NO_INTRINSIC_WCHAR_T
58 template <  >
59     class integer_traits< wchar_t >;
60 #endif
61
62 template <  >
63     class integer_traits< short >;
64
65 template <  >
66     class integer_traits< unsigned short >;
67
68 template <  >
69     class integer_traits< int >;
70
71 template <  >
72     class integer_traits< unsigned int >;
73
74 template <  >
75     class integer_traits< long >;
76
77 template <  >
78     class integer_traits< unsigned long >;
79
80 #if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && (defined(BOOST_HAS_LONG_LONG) || defined(BOOST_HAS_MS_INT64))
81 template <  >
82     class integer_traits<  ::boost::long_long_type>;
83
84 template <  >
85     class integer_traits<  ::boost::ulong_long_type >;
86 #endif
87
88
89 //  From <boost/integer.hpp>  ------------------------------------------------//
90
91 template < typename LeastInt >
92     struct int_fast_t;
93
94 template< int Bits >
95     struct int_t;
96
97 template< int Bits >
98     struct uint_t;
99
100 #if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
101     template< boost::long_long_type MaxValue >   // maximum value to require support
102 #else
103   template< long MaxValue >   // maximum value to require support
104 #endif
105     struct int_max_value_t;
106
107 #if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
108   template< boost::long_long_type MinValue >   // minimum value to require support
109 #else
110   template< long MinValue >   // minimum value to require support
111 #endif
112     struct int_min_value_t;
113
114 #if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
115   template< boost::ulong_long_type MaxValue >   // maximum value to require support
116 #else
117   template< unsigned long MaxValue >   // maximum value to require support
118 #endif
119     struct uint_value_t;
120
121
122 //  From <boost/integer/integer_mask.hpp>  -----------------------------------//
123
124 template < std::size_t Bit >
125     struct high_bit_mask_t;
126
127 template < std::size_t Bits >
128     struct low_bits_mask_t;
129
130 template <  >
131     struct low_bits_mask_t< ::std::numeric_limits<unsigned char>::digits >;
132
133 #if USHRT_MAX > UCHAR_MAX
134 template <  >
135     struct low_bits_mask_t< ::std::numeric_limits<unsigned short>::digits >;
136 #endif
137
138 #if UINT_MAX > USHRT_MAX
139 template <  >
140     struct low_bits_mask_t< ::std::numeric_limits<unsigned int>::digits >;
141 #endif
142
143 #if ULONG_MAX > UINT_MAX
144 template <  >
145     struct low_bits_mask_t< ::std::numeric_limits<unsigned long>::digits >;
146 #endif
147
148
149 //  From <boost/integer/static_log2.hpp>  ------------------------------------//
150
151 template <static_log2_argument_type Value >
152     struct static_log2;
153
154 template <> struct static_log2<0u>;
155
156
157 //  From <boost/integer/static_min_max.hpp>  ---------------------------------//
158
159 template <static_min_max_signed_type Value1, static_min_max_signed_type Value2>
160     struct static_signed_min;
161
162 template <static_min_max_signed_type Value1, static_min_max_signed_type Value2>
163     struct static_signed_max;
164
165 template <static_min_max_unsigned_type Value1, static_min_max_unsigned_type Value2>
166     struct static_unsigned_min;
167
168 template <static_min_max_unsigned_type Value1, static_min_max_unsigned_type Value2>
169     struct static_unsigned_max;
170
171 }  // namespace boost
172
173
174 #endif  // BOOST_INTEGER_FWD_HPP