Sha256: 58937436c77e3ac4c8fd2e74adea3e5f63c964e8ae40f848e477dd897f745504
Contents?: true
Size: 1.93 KB
Versions: 55
Compression:
Stored size: 1.93 KB
Contents
#ifndef BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED #define BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2000-2004 // // 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/mpl for documentation. // $Id$ // $Date$ // $Revision$ #include <boost/mpl/if.hpp> #include <boost/mpl/int.hpp> #include <boost/mpl/aux_/config/integral.hpp> #include <boost/config.hpp> namespace boost { namespace mpl { namespace aux { template< typename T > struct integral_rank; template<> struct integral_rank<bool> : int_<1> {}; template<> struct integral_rank<signed char> : int_<2> {}; template<> struct integral_rank<char> : int_<3> {}; template<> struct integral_rank<unsigned char> : int_<4> {}; #if !defined(BOOST_NO_INTRINSIC_WCHAR_T) template<> struct integral_rank<wchar_t> : int_<5> {}; #endif template<> struct integral_rank<short> : int_<6> {}; template<> struct integral_rank<unsigned short> : int_<7> {}; template<> struct integral_rank<int> : int_<8> {}; template<> struct integral_rank<unsigned int> : int_<9> {}; template<> struct integral_rank<long> : int_<10> {}; template<> struct integral_rank<unsigned long> : int_<11> {}; #if defined(BOOST_HAS_LONG_LONG) template<> struct integral_rank<long_long_type> : int_<12> {}; template<> struct integral_rank<ulong_long_type>: int_<13> {}; #endif template< typename T1, typename T2 > struct largest_int #if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) : if_c< ( integral_rank<T1>::value >= integral_rank<T2>::value ) , T1 , T2 > { #else { enum { rank1 = integral_rank<T1>::value }; enum { rank2 = integral_rank<T2>::value }; typedef typename if_c< (rank1 >= rank2),T1,T2 >::type type; #endif }; }}} #endif // BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED
Version data entries
55 entries across 55 versions & 3 rubygems