PageRenderTime 20ms CodeModel.GetById 13ms app.highlight 5ms RepoModel.GetById 1ms app.codeStats 0ms

/Src/Dependencies/Boost/boost/integer_fwd.hpp

http://hadesmem.googlecode.com/
C++ Header | 164 lines | 100 code | 52 blank | 12 comment | 7 complexity | 681d3199cf9fb07e9dd9098be87c7c82 MD5 | raw file
  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//  From <boost/integer/static_log2.hpp>  ------------------------------------//
140
141template <static_log2_argument_type Value >
142    struct static_log2;
143
144template <> struct static_log2<0u>;
145
146
147//  From <boost/integer/static_min_max.hpp>  ---------------------------------//
148
149template <static_min_max_signed_type Value1, static_min_max_signed_type Value2>
150    struct static_signed_min;
151
152template <static_min_max_signed_type Value1, static_min_max_signed_type Value2>
153    struct static_signed_max;
154
155template <static_min_max_unsigned_type Value1, static_min_max_unsigned_type Value2>
156    struct static_unsigned_min;
157
158template <static_min_max_unsigned_type Value1, static_min_max_unsigned_type Value2>
159    struct static_unsigned_max;
160
161}  // namespace boost
162
163
164#endif  // BOOST_INTEGER_FWD_HPP