source: NonGTP/Boost/boost/integer_fwd.hpp @ 857

Revision 857, 3.5 KB checked in by igarcia, 19 years ago (diff)
Line 
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
19namespace 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
30template < class T >
31    class integer_traits;
32
33template <  >
34    class integer_traits< bool >;
35
36template <  >
37    class integer_traits< char >;
38
39template <  >
40    class integer_traits< signed char >;
41
42template <  >
43    class integer_traits< unsigned char >;
44
45#ifndef BOOST_NO_INTRINSIC_WCHAR_T
46template <  >
47    class integer_traits< wchar_t >;
48#endif
49
50template <  >
51    class integer_traits< short >;
52
53template <  >
54    class integer_traits< unsigned short >;
55
56template <  >
57    class integer_traits< int >;
58
59template <  >
60    class integer_traits< unsigned int >;
61
62template <  >
63    class integer_traits< long >;
64
65template <  >
66    class integer_traits< unsigned long >;
67
68#ifdef ULLONG_MAX
69template <  >
70    class integer_traits<  ::boost::long_long_type>;
71
72template <  >
73    class integer_traits<  ::boost::ulong_long_type >;
74#endif
75
76
77//  From <boost/integer.hpp>  ------------------------------------------------//
78
79template < typename LeastInt >
80    struct int_fast_t;
81
82template< int Bits >
83    struct int_t;
84
85template< int Bits >
86    struct uint_t;
87
88template< long MaxValue >
89    struct int_max_value_t;
90
91template< long MinValue >
92    struct int_min_value_t;
93
94template< unsigned long Value >
95    struct uint_value_t;
96
97
98//  From <boost/integer/integer_mask.hpp>  -----------------------------------//
99
100template < std::size_t Bit >
101    struct high_bit_mask_t;
102
103template < std::size_t Bits >
104    struct low_bits_mask_t;
105
106template <  >
107    struct low_bits_mask_t< ::std::numeric_limits<unsigned char>::digits >;
108
109#if USHRT_MAX > UCHAR_MAX
110template <  >
111    struct low_bits_mask_t< ::std::numeric_limits<unsigned short>::digits >;
112#endif
113
114#if UINT_MAX > USHRT_MAX
115template <  >
116    struct low_bits_mask_t< ::std::numeric_limits<unsigned int>::digits >;
117#endif
118
119#if ULONG_MAX > UINT_MAX
120template <  >
121    struct low_bits_mask_t< ::std::numeric_limits<unsigned long>::digits >;
122#endif
123
124
125//  From <boost/integer/static_log2.hpp>  ------------------------------------//
126
127template < unsigned long Value >
128    struct static_log2;
129
130template <  >
131    struct static_log2< 0ul >;
132
133
134//  From <boost/integer/static_min_max.hpp>  ---------------------------------//
135
136template < long Value1, long Value2 >
137    struct static_signed_min;
138
139template < long Value1, long Value2 >
140    struct static_signed_max;
141
142template < unsigned long Value1, unsigned long Value2 >
143    struct static_unsigned_min;
144
145template < unsigned long Value1, unsigned long Value2 >
146    struct static_unsigned_max;
147
148
149}  // namespace boost
150
151
152#endif  // BOOST_INTEGER_FWD_HPP
Note: See TracBrowser for help on using the repository browser.