BVB Source Codes

mars Show largest_int.hpp Source code

Return Download mars: download largest_int.hpp Source code - Download mars Source code - Type:.hpp
  1.  
  2. #ifndef BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED
  3. #define BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED
  4.  
  5. // Copyright Aleksey Gurtovoy 2000-2004
  6. //
  7. // Distributed under the Boost Software License, Version 1.0.
  8. // (See accompanying file LICENSE_1_0.txt or copy at
  9. // http://www.boost.org/LICENSE_1_0.txt)
  10. //
  11. // See http://www.boost.org/libs/mpl for documentation.
  12.  
  13. // $Id$
  14. // $Date$
  15. // $Revision$
  16.  
  17. #include <boost/mpl/if.hpp>
  18. #include <boost/mpl/int.hpp>
  19. #include <boost/mpl/aux_/config/integral.hpp>
  20. #include <boost/config.hpp>
  21.  
  22. namespace mars_boost {} namespace boost = mars_boost; namespace mars_boost { namespace mpl { namespace aux {
  23.  
  24. template< typename T > struct integral_rank;
  25.  
  26. template<> struct integral_rank<bool>           : int_<1> {};
  27. template<> struct integral_rank<signed char>    : int_<2> {};
  28. template<> struct integral_rank<char>           : int_<3> {};
  29. template<> struct integral_rank<unsigned char>  : int_<4> {};
  30. #if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
  31. template<> struct integral_rank<wchar_t>        : int_<5> {};
  32. #endif
  33. template<> struct integral_rank<short>          : int_<6> {};
  34. template<> struct integral_rank<unsigned short> : int_<7> {};
  35. template<> struct integral_rank<int>            : int_<8> {};
  36. template<> struct integral_rank<unsigned int>   : int_<9> {};
  37. template<> struct integral_rank<long>           : int_<10> {};
  38. template<> struct integral_rank<unsigned long>  : int_<11> {};
  39.  
  40. #if defined(BOOST_HAS_LONG_LONG)
  41. template<> struct integral_rank<long_long_type> : int_<12> {};
  42. template<> struct integral_rank<ulong_long_type>: int_<13> {};
  43. #endif
  44.  
  45. template< typename T1, typename T2 > struct largest_int
  46. #if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
  47.     : if_c<
  48.           ( integral_rank<T1>::value >= integral_rank<T2>::value )
  49.         , T1
  50.         , T2
  51.         >
  52. {
  53. #else
  54. {
  55.     enum { rank1 = integral_rank<T1>::value };
  56.     enum { rank2 = integral_rank<T2>::value };
  57.     typedef typename if_c< (rank1 >= rank2),T1,T2 >::type type;
  58. #endif
  59. };
  60.  
  61. }}}
  62.  
  63. #endif // BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED
  64.  
downloadlargest_int.hpp Source code - Download mars Source code
Related Source Codes/Software:
Hero - Elegant transition library for iOS & tvOS 2017-06-09
deep-photo-styletransfer - Code and data for paper "Deep Photo Style Transfer... 2017-06-09
mastodon - A GNU Social-compatible microblogging server ... 2017-06-09
plyr - A simple HTML5, YouTube and Vimeo player ... 2017-06-08
prepack - Prepack is a partial evaluator for JavaScript. Pre... 2017-06-08
Public-APIs - 2017-06-09
lottie-ios - An iOS library to natively render After Effects ve... 2017-06-09
Awesome-Hacking - A collection of various awesome lists for hackers,... 2017-06-09
algorithms - Minimal examples of data structures and algorithms... 2017-06-10
lectures - Oxford Deep NLP 2017 course 2017-06-10
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top