New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
integer_fwd.hpp in vendors/XIOS/current/extern/boost/include/boost – NEMO

source: vendors/XIOS/current/extern/boost/include/boost/integer_fwd.hpp @ 3428

Last change on this file since 3428 was 3428, checked in by rblod, 12 years ago

importing initial XIOS vendor drop

File size: 4.9 KB
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#include <boost/cstdint.hpp>  // For intmax_t
18
19
20namespace 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
42template < class T >
43    class integer_traits;
44
45template <  >
46    class integer_traits< bool >;
47
48template <  >
49    class integer_traits< char >;
50
51template <  >
52    class integer_traits< signed char >;
53
54template <  >
55    class integer_traits< unsigned char >;
56
57#ifndef BOOST_NO_INTRINSIC_WCHAR_T
58template <  >
59    class integer_traits< wchar_t >;
60#endif
61
62template <  >
63    class integer_traits< short >;
64
65template <  >
66    class integer_traits< unsigned short >;
67
68template <  >
69    class integer_traits< int >;
70
71template <  >
72    class integer_traits< unsigned int >;
73
74template <  >
75    class integer_traits< long >;
76
77template <  >
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)
81template <  >
82class integer_traits<  ::boost::long_long_type>;
83
84template <  >
85class integer_traits<  ::boost::ulong_long_type >;
86#elif !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_MS_INT64)
87template <  >
88class integer_traits<__int64>;
89
90template <  >
91class integer_traits<unsigned __int64>;
92#endif
93
94
95//  From <boost/integer.hpp>  ------------------------------------------------//
96
97template < typename LeastInt >
98    struct int_fast_t;
99
100template< int Bits >
101    struct int_t;
102
103template< int Bits >
104    struct uint_t;
105
106#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
107    template< boost::long_long_type MaxValue >   // maximum value to require support
108#else
109  template< long MaxValue >   // maximum value to require support
110#endif
111    struct int_max_value_t;
112
113#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
114  template< boost::long_long_type MinValue >   // minimum value to require support
115#else
116  template< long MinValue >   // minimum value to require support
117#endif
118    struct int_min_value_t;
119
120#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
121  template< boost::ulong_long_type MaxValue >   // maximum value to require support
122#else
123  template< unsigned long MaxValue >   // maximum value to require support
124#endif
125    struct uint_value_t;
126
127
128//  From <boost/integer/integer_mask.hpp>  -----------------------------------//
129
130template < std::size_t Bit >
131    struct high_bit_mask_t;
132
133template < std::size_t Bits >
134    struct low_bits_mask_t;
135
136template <  >
137    struct low_bits_mask_t< ::std::numeric_limits<unsigned char>::digits >;
138
139#if USHRT_MAX > UCHAR_MAX
140template <  >
141    struct low_bits_mask_t< ::std::numeric_limits<unsigned short>::digits >;
142#endif
143
144#if UINT_MAX > USHRT_MAX
145template <  >
146    struct low_bits_mask_t< ::std::numeric_limits<unsigned int>::digits >;
147#endif
148
149#if ULONG_MAX > UINT_MAX
150template <  >
151    struct low_bits_mask_t< ::std::numeric_limits<unsigned long>::digits >;
152#endif
153
154
155//  From <boost/integer/static_log2.hpp>  ------------------------------------//
156
157template <static_log2_argument_type Value >
158    struct static_log2;
159
160template <> struct static_log2<0u>;
161
162
163//  From <boost/integer/static_min_max.hpp>  ---------------------------------//
164
165template <static_min_max_signed_type Value1, static_min_max_signed_type Value2>
166    struct static_signed_min;
167
168template <static_min_max_signed_type Value1, static_min_max_signed_type Value2>
169    struct static_signed_max;
170
171template <static_min_max_unsigned_type Value1, static_min_max_unsigned_type Value2>
172    struct static_unsigned_min;
173
174template <static_min_max_unsigned_type Value1, static_min_max_unsigned_type Value2>
175    struct static_unsigned_max;
176
177}  // namespace boost
178
179
180#endif  // BOOST_INTEGER_FWD_HPP
Note: See TracBrowser for help on using the repository browser.