diff options
Diffstat (limited to '3rdParty/Boost/src/boost/integer_fwd.hpp')
-rw-r--r-- | 3rdParty/Boost/src/boost/integer_fwd.hpp | 174 |
1 files changed, 174 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/integer_fwd.hpp b/3rdParty/Boost/src/boost/integer_fwd.hpp new file mode 100644 index 0000000..01b0a08 --- /dev/null +++ b/3rdParty/Boost/src/boost/integer_fwd.hpp @@ -0,0 +1,174 @@ +// Boost integer_fwd.hpp header file ---------------------------------------// + +// (C) Copyright Dave Abrahams and Daryle Walker 2001. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/integer for documentation. + +#ifndef BOOST_INTEGER_FWD_HPP +#define BOOST_INTEGER_FWD_HPP + +#include <climits> // for UCHAR_MAX, etc. +#include <cstddef> // for std::size_t + +#include <boost/config.hpp> // for BOOST_NO_INTRINSIC_WCHAR_T +#include <boost/limits.hpp> // for std::numeric_limits +#include <boost/cstdint.hpp> // For intmax_t + + +namespace boost +{ + +#ifdef BOOST_NO_INTEGRAL_INT64_T + typedef unsigned long static_log2_argument_type; + typedef int static_log2_result_type; + typedef long static_min_max_signed_type; + typedef unsigned long static_min_max_unsigned_type; +#else + typedef boost::uintmax_t static_min_max_unsigned_type; + typedef boost::intmax_t static_min_max_signed_type; + typedef boost::uintmax_t static_log2_argument_type; + typedef int static_log2_result_type; +#endif + +// From <boost/cstdint.hpp> ------------------------------------------------// + +// Only has typedefs or using statements, with #conditionals + + +// From <boost/integer_traits.hpp> -----------------------------------------// + +template < class T > + class integer_traits; + +template < > + class integer_traits< bool >; + +template < > + class integer_traits< char >; + +template < > + class integer_traits< signed char >; + +template < > + class integer_traits< unsigned char >; + +#ifndef BOOST_NO_INTRINSIC_WCHAR_T +template < > + class integer_traits< wchar_t >; +#endif + +template < > + class integer_traits< short >; + +template < > + class integer_traits< unsigned short >; + +template < > + class integer_traits< int >; + +template < > + class integer_traits< unsigned int >; + +template < > + class integer_traits< long >; + +template < > + class integer_traits< unsigned long >; + +#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && (defined(BOOST_HAS_LONG_LONG) || defined(BOOST_HAS_MS_INT64)) +template < > + class integer_traits< ::boost::long_long_type>; + +template < > + class integer_traits< ::boost::ulong_long_type >; +#endif + + +// From <boost/integer.hpp> ------------------------------------------------// + +template < typename LeastInt > + struct int_fast_t; + +template< int Bits > + struct int_t; + +template< int Bits > + struct uint_t; + +#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG) + template< boost::long_long_type MaxValue > // maximum value to require support +#else + template< long MaxValue > // maximum value to require support +#endif + struct int_max_value_t; + +#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG) + template< boost::long_long_type MinValue > // minimum value to require support +#else + template< long MinValue > // minimum value to require support +#endif + struct int_min_value_t; + +#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG) + template< boost::ulong_long_type MaxValue > // maximum value to require support +#else + template< unsigned long MaxValue > // maximum value to require support +#endif + struct uint_value_t; + + +// From <boost/integer/integer_mask.hpp> -----------------------------------// + +template < std::size_t Bit > + struct high_bit_mask_t; + +template < std::size_t Bits > + struct low_bits_mask_t; + +template < > + struct low_bits_mask_t< ::std::numeric_limits<unsigned char>::digits >; + +#if USHRT_MAX > UCHAR_MAX +template < > + struct low_bits_mask_t< ::std::numeric_limits<unsigned short>::digits >; +#endif + +#if UINT_MAX > USHRT_MAX +template < > + struct low_bits_mask_t< ::std::numeric_limits<unsigned int>::digits >; +#endif + +#if ULONG_MAX > UINT_MAX +template < > + struct low_bits_mask_t< ::std::numeric_limits<unsigned long>::digits >; +#endif + + +// From <boost/integer/static_log2.hpp> ------------------------------------// + +template <static_log2_argument_type Value > + struct static_log2; + +template <> struct static_log2<0u>; + + +// From <boost/integer/static_min_max.hpp> ---------------------------------// + +template <static_min_max_signed_type Value1, static_min_max_signed_type Value2> + struct static_signed_min; + +template <static_min_max_signed_type Value1, static_min_max_signed_type Value2> + struct static_signed_max; + +template <static_min_max_unsigned_type Value1, static_min_max_unsigned_type Value2> + struct static_unsigned_min; + +template <static_min_max_unsigned_type Value1, static_min_max_unsigned_type Value2> + struct static_unsigned_max; + +} // namespace boost + + +#endif // BOOST_INTEGER_FWD_HPP |