fix doc example typo
[boost.git] / boost / integer_fwd.hpp
blob3ece2e3884216feedbd5cb5158490e684883092f
1 // Boost integer_fwd.hpp header file ---------------------------------------//
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)
7 // See http://www.boost.org/libs/integer for documentation.
9 #ifndef BOOST_INTEGER_FWD_HPP
10 #define BOOST_INTEGER_FWD_HPP
12 #include <cstddef> // for std::size_t
14 #include <boost/config.hpp> // for BOOST_NO_INTRINSIC_WCHAR_T, etc.
15 #include <boost/cstdint.hpp> // for boost::uintmax_t, intmax_t
17 #include <boost/detail/extended_integer.hpp> // for BOOST_HAS_XINT, etc.
20 namespace boost
24 // From <boost/cstdint.hpp> ------------------------------------------------//
26 // Only has typedefs or using statements, with #conditionals
28 // ALERT: the forward declarations of items in <boost/integer.hpp> need items
29 // from this header. That means that <boost/cstdint.hpp> cannot #include this
30 // forwarding header, to avoid infinite recursion! One day, maybe
31 // boost::uintmax_t and boost::intmax_t could be segregated into their own
32 // header file (which can't #include this header), <boost/integer.hpp> will use
33 // that header, and <boost/cstdint.hpp> could refer to <boost/integer.hpp>.
36 // From <boost/integer_traits.hpp> -----------------------------------------//
38 template < class T >
39 class integer_traits;
41 template < >
42 class integer_traits< bool >;
44 template < >
45 class integer_traits< char >;
47 template < >
48 class integer_traits< signed char >;
50 template < >
51 class integer_traits< unsigned char >;
53 #ifndef BOOST_NO_INTRINSIC_WCHAR_T
54 template < >
55 class integer_traits< wchar_t >;
56 #endif
58 template < >
59 class integer_traits< short >;
61 template < >
62 class integer_traits< unsigned short >;
64 template < >
65 class integer_traits< int >;
67 template < >
68 class integer_traits< unsigned int >;
70 template < >
71 class integer_traits< long >;
73 template < >
74 class integer_traits< unsigned long >;
76 #if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && BOOST_HAS_XINT
77 template < >
78 class integer_traits< ::boost::detail::xint_t >;
80 template < >
81 class integer_traits< ::boost::detail::uxint_t >;
82 #endif
85 // From <boost/integer.hpp> ------------------------------------------------//
87 template < typename BaseInt >
88 struct fast_integral;
90 template < typename LeastInt >
91 struct int_fast_t;
93 template < int Bits, typename Signedness >
94 struct sized_integral;
96 template < int Bits, typename Signedness >
97 struct exact_integral;
99 template < intmax_t MaxValue >
100 struct maximum_signed_integral;
102 template < intmax_t MinValue >
103 struct minimum_signed_integral;
105 template < uintmax_t Value >
106 struct maximum_unsigned_integral;
108 template< int Bits >
109 struct int_t;
111 template< int Bits >
112 struct int_exact_t;
114 template< int Bits >
115 struct uint_t;
117 template< int Bits >
118 struct uint_exact_t;
120 template< intmax_t MaxValue >
121 struct int_max_value_t;
123 template< intmax_t MinValue >
124 struct int_min_value_t;
126 template< uintmax_t Value >
127 struct uint_value_t;
130 // From <boost/integer/integer_mask.hpp> -----------------------------------//
132 template < int Offset >
133 struct integer_hi_mask;
135 template < int Length >
136 struct integer_lo_mask;
138 template < std::size_t Bit >
139 class high_bit_mask_t;
141 template < std::size_t Bits >
142 class low_bits_mask_t;
145 // From <boost/integer/static_log2.hpp> ------------------------------------//
147 template < unsigned long Value >
148 struct static_log2;
150 template < >
151 struct static_log2< 0ul >;
154 // From <boost/integer/static_min_max.hpp> ---------------------------------//
156 template < long Value1, long Value2 >
157 struct static_signed_min;
159 template < long Value1, long Value2 >
160 struct static_signed_max;
162 template < unsigned long Value1, unsigned long Value2 >
163 struct static_unsigned_min;
165 template < unsigned long Value1, unsigned long Value2 >
166 struct static_unsigned_max;
169 } // namespace boost
172 #endif // BOOST_INTEGER_FWD_HPP