]> AND Private Git Repository - canny.git/blob - stc/exp/ml_stc_linux_make_v1.0/include/boost/integer_fwd.hpp
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
41988588f5574686fd40bd06fd2b79ca20c5709b
[canny.git] / stc / exp / ml_stc_linux_make_v1.0 / include / boost / integer_fwd.hpp
1 //  Boost integer_fwd.hpp header file  ---------------------------------------//\r
2 \r
3 //  (C) Copyright Dave Abrahams and Daryle Walker 2001. Distributed under the Boost\r
4 //  Software License, Version 1.0. (See accompanying file\r
5 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
6 \r
7 //  See http://www.boost.org/libs/integer for documentation.\r
8 \r
9 #ifndef BOOST_INTEGER_FWD_HPP\r
10 #define BOOST_INTEGER_FWD_HPP\r
11 \r
12 #include <climits>  // for UCHAR_MAX, etc.\r
13 #include <cstddef>  // for std::size_t\r
14 \r
15 #include <boost/config.hpp>  // for BOOST_NO_INTRINSIC_WCHAR_T\r
16 #include <boost/limits.hpp>  // for std::numeric_limits\r
17 #include <boost/cstdint.hpp>  // For intmax_t\r
18 \r
19 \r
20 namespace boost\r
21 {\r
22 \r
23 #ifdef BOOST_NO_INTEGRAL_INT64_T\r
24      typedef unsigned long static_log2_argument_type;\r
25      typedef          int  static_log2_result_type;\r
26      typedef long          static_min_max_signed_type;\r
27      typedef unsigned long static_min_max_unsigned_type;\r
28 #else\r
29      typedef boost::uintmax_t static_min_max_unsigned_type;\r
30      typedef boost::intmax_t  static_min_max_signed_type;\r
31      typedef boost::uintmax_t static_log2_argument_type;\r
32      typedef int              static_log2_result_type;\r
33 #endif\r
34 \r
35 //  From <boost/cstdint.hpp>  ------------------------------------------------//\r
36 \r
37 // Only has typedefs or using statements, with #conditionals\r
38 \r
39 \r
40 //  From <boost/integer_traits.hpp>  -----------------------------------------//\r
41 \r
42 template < class T >\r
43     class integer_traits;\r
44 \r
45 template <  >\r
46     class integer_traits< bool >;\r
47 \r
48 template <  >\r
49     class integer_traits< char >;\r
50 \r
51 template <  >\r
52     class integer_traits< signed char >;\r
53 \r
54 template <  >\r
55     class integer_traits< unsigned char >;\r
56 \r
57 #ifndef BOOST_NO_INTRINSIC_WCHAR_T\r
58 template <  >\r
59     class integer_traits< wchar_t >;\r
60 #endif\r
61 \r
62 template <  >\r
63     class integer_traits< short >;\r
64 \r
65 template <  >\r
66     class integer_traits< unsigned short >;\r
67 \r
68 template <  >\r
69     class integer_traits< int >;\r
70 \r
71 template <  >\r
72     class integer_traits< unsigned int >;\r
73 \r
74 template <  >\r
75     class integer_traits< long >;\r
76 \r
77 template <  >\r
78     class integer_traits< unsigned long >;\r
79 \r
80 #if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && (defined(BOOST_HAS_LONG_LONG) || defined(BOOST_HAS_MS_INT64))\r
81 template <  >\r
82     class integer_traits<  ::boost::long_long_type>;\r
83 \r
84 template <  >\r
85     class integer_traits<  ::boost::ulong_long_type >;\r
86 #endif\r
87 \r
88 \r
89 //  From <boost/integer.hpp>  ------------------------------------------------//\r
90 \r
91 template < typename LeastInt >\r
92     struct int_fast_t;\r
93 \r
94 template< int Bits >\r
95     struct int_t;\r
96 \r
97 template< int Bits >\r
98     struct uint_t;\r
99 \r
100 #if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)\r
101     template< boost::long_long_type MaxValue >   // maximum value to require support\r
102 #else\r
103   template< long MaxValue >   // maximum value to require support\r
104 #endif\r
105     struct int_max_value_t;\r
106 \r
107 #if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)\r
108   template< boost::long_long_type MinValue >   // minimum value to require support\r
109 #else\r
110   template< long MinValue >   // minimum value to require support\r
111 #endif\r
112     struct int_min_value_t;\r
113 \r
114 #if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)\r
115   template< boost::ulong_long_type MaxValue >   // maximum value to require support\r
116 #else\r
117   template< unsigned long MaxValue >   // maximum value to require support\r
118 #endif\r
119     struct uint_value_t;\r
120 \r
121 \r
122 //  From <boost/integer/integer_mask.hpp>  -----------------------------------//\r
123 \r
124 template < std::size_t Bit >\r
125     struct high_bit_mask_t;\r
126 \r
127 template < std::size_t Bits >\r
128     struct low_bits_mask_t;\r
129 \r
130 template <  >\r
131     struct low_bits_mask_t< ::std::numeric_limits<unsigned char>::digits >;\r
132 \r
133 #if USHRT_MAX > UCHAR_MAX\r
134 template <  >\r
135     struct low_bits_mask_t< ::std::numeric_limits<unsigned short>::digits >;\r
136 #endif\r
137 \r
138 #if UINT_MAX > USHRT_MAX\r
139 template <  >\r
140     struct low_bits_mask_t< ::std::numeric_limits<unsigned int>::digits >;\r
141 #endif\r
142 \r
143 #if ULONG_MAX > UINT_MAX\r
144 template <  >\r
145     struct low_bits_mask_t< ::std::numeric_limits<unsigned long>::digits >;\r
146 #endif\r
147 \r
148 \r
149 //  From <boost/integer/static_log2.hpp>  ------------------------------------//\r
150 \r
151 template <static_log2_argument_type Value >\r
152     struct static_log2;\r
153 \r
154 template <> struct static_log2<0u>;\r
155 \r
156 \r
157 //  From <boost/integer/static_min_max.hpp>  ---------------------------------//\r
158 \r
159 template <static_min_max_signed_type Value1, static_min_max_signed_type Value2>\r
160     struct static_signed_min;\r
161 \r
162 template <static_min_max_signed_type Value1, static_min_max_signed_type Value2>\r
163     struct static_signed_max;\r
164 \r
165 template <static_min_max_unsigned_type Value1, static_min_max_unsigned_type Value2>\r
166     struct static_unsigned_min;\r
167 \r
168 template <static_min_max_unsigned_type Value1, static_min_max_unsigned_type Value2>\r
169     struct static_unsigned_max;\r
170 \r
171 }  // namespace boost\r
172 \r
173 \r
174 #endif  // BOOST_INTEGER_FWD_HPP\r