BVB Source Codes

mars Show bitor.hpp Source code

Return Download mars: download bitor.hpp Source code - Download mars Source code - Type:.hpp
  1.  
  2. // Copyright Aleksey Gurtovoy 2000-2004
  3. // Copyright Jaap Suter 2003
  4. //
  5. // Distributed under the Boost Software License, Version 1.0.
  6. // (See accompanying file LICENSE_1_0.txt or copy at
  7. // http://www.boost.org/LICENSE_1_0.txt)
  8. //
  9.  
  10. // Preprocessed version of "boost/mpl/bitor.hpp" header
  11. // -- DO NOT modify by hand!
  12.  
  13. namespace mars_boost {} namespace boost = mars_boost; namespace mars_boost { namespace mpl {
  14.  
  15. template<
  16.       typename Tag1
  17.     , typename Tag2
  18.  
  19.     , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
  20.     , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
  21.     >
  22. struct bitor_impl
  23.     : if_c<
  24.           ( tag1_ > tag2_ )
  25.         , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
  26.         , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
  27.         >::type
  28. {
  29. };
  30.  
  31. /// for Digital Mars C++/compilers with no CTPS/TTP support
  32. template<> struct bitor_impl< na,na >
  33. {
  34.     template< typename U1, typename U2 > struct apply
  35.     {
  36.         typedef apply type;
  37.         BOOST_STATIC_CONSTANT(int, value  = 0);
  38.     };
  39. };
  40.  
  41. template<> struct bitor_impl< na,integral_c_tag >
  42. {
  43.     template< typename U1, typename U2 > struct apply
  44.     {
  45.         typedef apply type;
  46.         BOOST_STATIC_CONSTANT(int, value  = 0);
  47.     };
  48. };
  49.  
  50. template<> struct bitor_impl< integral_c_tag,na >
  51. {
  52.     template< typename U1, typename U2 > struct apply
  53.     {
  54.         typedef apply type;
  55.         BOOST_STATIC_CONSTANT(int, value  = 0);
  56.     };
  57. };
  58.  
  59. template< typename T > struct bitor_tag
  60.     : tag< T,na >
  61. {
  62. };
  63.  
  64. /// forward declaration
  65.  
  66. template<
  67.       typename BOOST_MPL_AUX_NA_PARAM(N1)
  68.     , typename BOOST_MPL_AUX_NA_PARAM(N2)
  69.     >
  70. struct bitor_2;
  71.  
  72. template<
  73.       typename BOOST_MPL_AUX_NA_PARAM(N1)
  74.     , typename BOOST_MPL_AUX_NA_PARAM(N2)
  75.     , typename N3 = na, typename N4 = na, typename N5 = na
  76.     >
  77. struct bitor_
  78.  
  79.     : aux::msvc_eti_base< typename if_<
  80.  
  81.           is_na<N3>
  82.         , bitor_2< N1,N2 >
  83.         , bitor_<
  84.               bitor_2< N1,N2 >
  85.             , N3, N4, N5
  86.             >
  87.         >::type
  88.  
  89.     >
  90.  
  91. {
  92.     BOOST_MPL_AUX_LAMBDA_SUPPORT(
  93.           5
  94.         , bitor_
  95.         , ( N1, N2, N3, N4, N5 )
  96.         )
  97. };
  98.  
  99. template<
  100.       typename N1
  101.     , typename N2
  102.     >
  103. struct bitor_2
  104.     : aux::msvc_eti_base< typename apply_wrap2<
  105.           bitor_impl<
  106.               typename bitor_tag<N1>::type
  107.             , typename bitor_tag<N2>::type
  108.             >
  109.         , N1
  110.         , N2
  111.         >::type >::type
  112.  
  113. {
  114.     BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2))
  115.  
  116. };
  117.  
  118. BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
  119.  
  120. }}
  121.  
  122. namespace mars_boost {} namespace boost = mars_boost; namespace mars_boost { namespace mpl {
  123.  
  124. namespace aux {
  125. template< typename T, T n1, T n2 >
  126. struct bitor_wknd
  127. {
  128.     BOOST_STATIC_CONSTANT(T, value  = (n1 | n2));
  129.     typedef integral_c< T,value > type;
  130. };
  131.  
  132. }
  133.  
  134. template<>
  135. struct bitor_impl< integral_c_tag,integral_c_tag >
  136. {
  137.     template< typename N1, typename N2 > struct apply
  138.         : aux::bitor_wknd<
  139.               typename aux::largest_int<
  140.                   typename N1::value_type
  141.                 , typename N2::value_type
  142.                 >::type
  143.             , N1::value
  144.             , N2::value
  145.             >::type
  146.  
  147.     {
  148.     };
  149. };
  150.  
  151. }}
  152.  
downloadbitor.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