williamr@2: //  Boost integer_fwd.hpp header file  ---------------------------------------//
williamr@2: 
williamr@2: //  (C) Copyright Dave Abrahams and Daryle Walker 2001. Distributed under the Boost
williamr@2: //  Software License, Version 1.0. (See accompanying file
williamr@2: //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
williamr@2: 
williamr@2: //  See http://www.boost.org/libs/integer for documentation.
williamr@2: 
williamr@2: #ifndef BOOST_INTEGER_FWD_HPP
williamr@2: #define BOOST_INTEGER_FWD_HPP
williamr@2: 
williamr@2: #include <climits>  // for UCHAR_MAX, etc.
williamr@2: #include <cstddef>  // for std::size_t
williamr@2: 
williamr@2: #include <boost/config.hpp>  // for BOOST_NO_INTRINSIC_WCHAR_T
williamr@2: #include <boost/limits.hpp>  // for std::numeric_limits
williamr@2: 
williamr@2: 
williamr@2: namespace boost
williamr@2: {
williamr@2: 
williamr@2: 
williamr@2: //  From <boost/cstdint.hpp>  ------------------------------------------------//
williamr@2: 
williamr@2: // Only has typedefs or using statements, with #conditionals
williamr@2: 
williamr@2: 
williamr@2: //  From <boost/integer_traits.hpp>  -----------------------------------------//
williamr@2: 
williamr@2: template < class T >
williamr@2:     class integer_traits;
williamr@2: 
williamr@2: template <  >
williamr@2:     class integer_traits< bool >;
williamr@2: 
williamr@2: template <  >
williamr@2:     class integer_traits< char >;
williamr@2: 
williamr@2: template <  >
williamr@2:     class integer_traits< signed char >;
williamr@2: 
williamr@2: template <  >
williamr@2:     class integer_traits< unsigned char >;
williamr@2: 
williamr@2: #ifndef BOOST_NO_INTRINSIC_WCHAR_T
williamr@2: template <  >
williamr@2:     class integer_traits< wchar_t >;
williamr@2: #endif
williamr@2: 
williamr@2: template <  >
williamr@2:     class integer_traits< short >;
williamr@2: 
williamr@2: template <  >
williamr@2:     class integer_traits< unsigned short >;
williamr@2: 
williamr@2: template <  >
williamr@2:     class integer_traits< int >;
williamr@2: 
williamr@2: template <  >
williamr@2:     class integer_traits< unsigned int >;
williamr@2: 
williamr@2: template <  >
williamr@2:     class integer_traits< long >;
williamr@2: 
williamr@2: template <  >
williamr@2:     class integer_traits< unsigned long >;
williamr@2: 
williamr@2: #ifdef ULLONG_MAX
williamr@2: template <  >
williamr@2:     class integer_traits<  ::boost::long_long_type>;
williamr@2: 
williamr@2: template <  >
williamr@2:     class integer_traits<  ::boost::ulong_long_type >;
williamr@2: #endif
williamr@2: 
williamr@2: 
williamr@2: //  From <boost/integer.hpp>  ------------------------------------------------//
williamr@2: 
williamr@2: template < typename LeastInt >
williamr@2:     struct int_fast_t;
williamr@2: 
williamr@2: template< int Bits >
williamr@2:     struct int_t;
williamr@2: 
williamr@2: template< int Bits >
williamr@2:     struct uint_t;
williamr@2: 
williamr@2: template< long MaxValue >
williamr@2:     struct int_max_value_t;
williamr@2: 
williamr@2: template< long MinValue >
williamr@2:     struct int_min_value_t;
williamr@2: 
williamr@2: template< unsigned long Value >
williamr@2:     struct uint_value_t;
williamr@2: 
williamr@2: 
williamr@2: //  From <boost/integer/integer_mask.hpp>  -----------------------------------//
williamr@2: 
williamr@2: template < std::size_t Bit >
williamr@2:     struct high_bit_mask_t;
williamr@2: 
williamr@2: template < std::size_t Bits >
williamr@2:     struct low_bits_mask_t;
williamr@2: 
williamr@2: template <  >
williamr@2:     struct low_bits_mask_t< ::std::numeric_limits<unsigned char>::digits >;
williamr@2: 
williamr@2: #if USHRT_MAX > UCHAR_MAX
williamr@2: template <  >
williamr@2:     struct low_bits_mask_t< ::std::numeric_limits<unsigned short>::digits >;
williamr@2: #endif
williamr@2: 
williamr@2: #if UINT_MAX > USHRT_MAX
williamr@2: template <  >
williamr@2:     struct low_bits_mask_t< ::std::numeric_limits<unsigned int>::digits >;
williamr@2: #endif
williamr@2: 
williamr@2: #if ULONG_MAX > UINT_MAX
williamr@2: template <  >
williamr@2:     struct low_bits_mask_t< ::std::numeric_limits<unsigned long>::digits >;
williamr@2: #endif
williamr@2: 
williamr@2: 
williamr@2: //  From <boost/integer/static_log2.hpp>  ------------------------------------//
williamr@2: 
williamr@2: template < unsigned long Value >
williamr@2:     struct static_log2;
williamr@2: 
williamr@2: template <  >
williamr@2:     struct static_log2< 0ul >;
williamr@2: 
williamr@2: 
williamr@2: //  From <boost/integer/static_min_max.hpp>  ---------------------------------//
williamr@2: 
williamr@2: template < long Value1, long Value2 >
williamr@2:     struct static_signed_min;
williamr@2: 
williamr@2: template < long Value1, long Value2 >
williamr@2:     struct static_signed_max;
williamr@2: 
williamr@2: template < unsigned long Value1, unsigned long Value2 >
williamr@2:     struct static_unsigned_min;
williamr@2: 
williamr@2: template < unsigned long Value1, unsigned long Value2 >
williamr@2:     struct static_unsigned_max;
williamr@2: 
williamr@2: 
williamr@2: }  // namespace boost
williamr@2: 
williamr@2: 
williamr@2: #endif  // BOOST_INTEGER_FWD_HPP