📄 largest_int.hpp
字号:
#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: largest_int.hpp 49267 2008-10-11 06:19:02Z agurtovoy $// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $// $Revision: 49267 $#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> {};#endiftemplate<> 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> {};#endiftemplate< 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -