BVB Source Codes

mars Show inherit.hpp Source code

Return Download mars: download inherit.hpp Source code - Download mars Source code - Type:.hpp
  1.  
  2. // Copyright Aleksey Gurtovoy 2001-2004
  3. //
  4. // Distributed under the Boost Software License, Version 1.0.
  5. // (See accompanying file LICENSE_1_0.txt or copy at
  6. // http://www.boost.org/LICENSE_1_0.txt)
  7. //
  8.  
  9. // Preprocessed version of "boost/mpl/inherit.hpp" header
  10. // -- DO NOT modify by hand!
  11.  
  12. namespace mars_boost {} namespace boost = mars_boost; namespace mars_boost { namespace mpl {
  13.  
  14. namespace aux {
  15.  
  16. template< bool C1, bool C2 >
  17. struct inherit2_impl
  18. {
  19.     template< typename Derived, typename T1, typename T2 > struct result_
  20.         : T1, T2
  21.     {
  22.         typedef Derived type_;
  23.     };
  24. };
  25.  
  26. template<>
  27. struct inherit2_impl< false,true >
  28. {
  29.     template< typename Derived, typename T1, typename T2 > struct result_
  30.         : T1
  31.     {
  32.         typedef T1 type_;
  33.     };
  34. };
  35.  
  36. template<>
  37. struct inherit2_impl< true,false >
  38. {
  39.     template< typename Derived, typename T1, typename T2 > struct result_
  40.         : T2
  41.     {
  42.         typedef T2 type_;
  43.     };
  44. };
  45.  
  46. template<>
  47. struct inherit2_impl< true,true >
  48. {
  49.     template< typename Derived, typename T1, typename T2 > struct result_
  50.     {
  51.         typedef T1 type_;
  52.     };
  53. };
  54.  
  55. } // namespace aux
  56.  
  57. template<
  58.       typename BOOST_MPL_AUX_NA_PARAM(T1)
  59.     , typename BOOST_MPL_AUX_NA_PARAM(T2)
  60.     >
  61. struct inherit2
  62.     : aux::inherit2_impl<
  63.           is_empty_base<T1>::value
  64.         , is_empty_base<T2>::value
  65.         >::template result_< inherit2< T1,T2 >,T1, T2 >
  66. {
  67.     typedef typename inherit2::type_ type;
  68.     BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
  69. };
  70.  
  71. BOOST_MPL_AUX_NA_SPEC(2, inherit2)
  72.  
  73. template<
  74.       typename T1 = na, typename T2 = na, typename T3 = na
  75.     >
  76. struct inherit3
  77.     : inherit2<
  78.           typename inherit2<
  79.               T1, T2
  80.             >::type
  81.         , T3
  82.         >
  83. {
  84.     BOOST_MPL_AUX_LAMBDA_SUPPORT(
  85.           3
  86.         , inherit3
  87.         , ( T1, T2, T3)
  88.         )
  89. };
  90.  
  91. BOOST_MPL_AUX_NA_SPEC(3, inherit3)
  92.  
  93. template<
  94.       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
  95.     >
  96. struct inherit4
  97.     : inherit2<
  98.           typename inherit3<
  99.               T1, T2, T3
  100.             >::type
  101.         , T4
  102.         >
  103. {
  104.     BOOST_MPL_AUX_LAMBDA_SUPPORT(
  105.           4
  106.         , inherit4
  107.         , ( T1, T2, T3, T4)
  108.         )
  109. };
  110.  
  111. BOOST_MPL_AUX_NA_SPEC(4, inherit4)
  112.  
  113. template<
  114.       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
  115.     , typename T5 = na
  116.     >
  117. struct inherit5
  118.     : inherit2<
  119.           typename inherit4<
  120.               T1, T2, T3, T4
  121.             >::type
  122.         , T5
  123.         >
  124. {
  125.     BOOST_MPL_AUX_LAMBDA_SUPPORT(
  126.           5
  127.         , inherit5
  128.         , ( T1, T2, T3, T4, T5)
  129.         )
  130. };
  131.  
  132. BOOST_MPL_AUX_NA_SPEC(5, inherit5)
  133.  
  134. /// primary template
  135.  
  136. template<
  137.       typename T1 = empty_base, typename T2 = empty_base
  138.     , typename T3 = empty_base, typename T4 = empty_base
  139.     , typename T5 = empty_base
  140.     >
  141. struct inherit
  142.     : inherit5< T1,T2,T3,T4,T5 >
  143. {
  144. };
  145.  
  146. template<>
  147. struct inherit< na,na,na,na,na >
  148. {
  149.     template<
  150.  
  151.           typename T1 = empty_base, typename T2 = empty_base
  152.         , typename T3 = empty_base, typename T4 = empty_base
  153.         , typename T5 = empty_base
  154.  
  155.         >
  156.     struct apply
  157.         : inherit< T1,T2,T3,T4,T5 >
  158.     {
  159.     };
  160. };
  161.  
  162. BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
  163. BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
  164. BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
  165. }}
  166.  
  167.  
downloadinherit.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