BVB Source Codes

mars Show basic_bind.hpp Source code

Return Download mars: download basic_bind.hpp Source code - Download mars Source code - Type:.hpp
  1.  
  2. // Copyright Peter Dimov 2001
  3. // Copyright Aleksey Gurtovoy 2001-2004
  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/aux_/basic_bind.hpp" header
  11. // -- DO NOT modify by hand!
  12.  
  13. namespace mars_boost {} namespace boost = mars_boost; namespace mars_boost { namespace mpl {
  14.  
  15. namespace aux {
  16.  
  17. template<
  18.       typename T, typename U1, typename U2, typename U3, typename U4
  19.     , typename U5
  20.     >
  21. struct resolve_bind_arg
  22. {
  23.     typedef T type;
  24. };
  25.  
  26. template<
  27.       int N, typename U1, typename U2, typename U3, typename U4, typename U5
  28.     >
  29. struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
  30. {
  31.     typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
  32. };
  33.  
  34. } // namespace aux
  35.  
  36. template<
  37.       typename F
  38.     >
  39. struct bind0
  40. {
  41.     template<
  42.           typename U1 = na, typename U2 = na, typename U3 = na
  43.         , typename U4 = na, typename U5 = na
  44.         >
  45.     struct apply
  46.     {
  47.      private:
  48.         typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
  49.  
  50.      public:
  51.         typedef typename apply_wrap0<
  52.               f_
  53.             >::type type;
  54.  
  55.     };
  56. };
  57.  
  58. namespace aux {
  59.  
  60. template<
  61.       typename F, typename U1, typename U2, typename U3, typename U4
  62.     , typename U5
  63.     >
  64. struct resolve_bind_arg<
  65.       bind0<F>, U1, U2, U3, U4, U5
  66.     >
  67. {
  68.     typedef bind0<F> f_;
  69.     typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
  70. };
  71.  
  72. } // namespace aux
  73.  
  74. BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
  75. BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
  76.  
  77. template<
  78.       typename F, typename T1
  79.     >
  80. struct bind1
  81. {
  82.     template<
  83.           typename U1 = na, typename U2 = na, typename U3 = na
  84.         , typename U4 = na, typename U5 = na
  85.         >
  86.     struct apply
  87.     {
  88.      private:
  89.         typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
  90.         typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
  91.  
  92.      public:
  93.         typedef typename apply_wrap1<
  94.               f_
  95.             , typename t1::type
  96.             >::type type;
  97.  
  98.     };
  99. };
  100.  
  101. namespace aux {
  102.  
  103. template<
  104.       typename F, typename T1, typename U1, typename U2, typename U3
  105.     , typename U4, typename U5
  106.     >
  107. struct resolve_bind_arg<
  108.       bind1< F,T1 >, U1, U2, U3, U4, U5
  109.     >
  110. {
  111.     typedef bind1< F,T1 > f_;
  112.     typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
  113. };
  114.  
  115. } // namespace aux
  116.  
  117. BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
  118. BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
  119.  
  120. template<
  121.       typename F, typename T1, typename T2
  122.     >
  123. struct bind2
  124. {
  125.     template<
  126.           typename U1 = na, typename U2 = na, typename U3 = na
  127.         , typename U4 = na, typename U5 = na
  128.         >
  129.     struct apply
  130.     {
  131.      private:
  132.         typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
  133.         typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
  134.         typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
  135.  
  136.      public:
  137.         typedef typename apply_wrap2<
  138.               f_
  139.             , typename t1::type, typename t2::type
  140.             >::type type;
  141.  
  142.     };
  143. };
  144.  
  145. namespace aux {
  146.  
  147. template<
  148.       typename F, typename T1, typename T2, typename U1, typename U2
  149.     , typename U3, typename U4, typename U5
  150.     >
  151. struct resolve_bind_arg<
  152.       bind2< F,T1,T2 >, U1, U2, U3, U4, U5
  153.     >
  154. {
  155.     typedef bind2< F,T1,T2 > f_;
  156.     typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
  157. };
  158.  
  159. } // namespace aux
  160.  
  161. BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
  162. BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
  163.  
  164. template<
  165.       typename F, typename T1, typename T2, typename T3
  166.     >
  167. struct bind3
  168. {
  169.     template<
  170.           typename U1 = na, typename U2 = na, typename U3 = na
  171.         , typename U4 = na, typename U5 = na
  172.         >
  173.     struct apply
  174.     {
  175.      private:
  176.         typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
  177.         typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
  178.         typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
  179.         typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
  180.  
  181.      public:
  182.         typedef typename apply_wrap3<
  183.               f_
  184.             , typename t1::type, typename t2::type, typename t3::type
  185.             >::type type;
  186.  
  187.     };
  188. };
  189.  
  190. namespace aux {
  191.  
  192. template<
  193.       typename F, typename T1, typename T2, typename T3, typename U1
  194.     , typename U2, typename U3, typename U4, typename U5
  195.     >
  196. struct resolve_bind_arg<
  197.       bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
  198.     >
  199. {
  200.     typedef bind3< F,T1,T2,T3 > f_;
  201.     typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
  202. };
  203.  
  204. } // namespace aux
  205.  
  206. BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
  207. BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
  208.  
  209. template<
  210.       typename F, typename T1, typename T2, typename T3, typename T4
  211.     >
  212. struct bind4
  213. {
  214.     template<
  215.           typename U1 = na, typename U2 = na, typename U3 = na
  216.         , typename U4 = na, typename U5 = na
  217.         >
  218.     struct apply
  219.     {
  220.      private:
  221.         typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
  222.         typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
  223.         typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
  224.         typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
  225.         typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
  226.  
  227.      public:
  228.         typedef typename apply_wrap4<
  229.               f_
  230.             , typename t1::type, typename t2::type, typename t3::type
  231.             , typename t4::type
  232.             >::type type;
  233.  
  234.     };
  235. };
  236.  
  237. namespace aux {
  238.  
  239. template<
  240.       typename F, typename T1, typename T2, typename T3, typename T4
  241.     , typename U1, typename U2, typename U3, typename U4, typename U5
  242.     >
  243. struct resolve_bind_arg<
  244.       bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
  245.     >
  246. {
  247.     typedef bind4< F,T1,T2,T3,T4 > f_;
  248.     typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
  249. };
  250.  
  251. } // namespace aux
  252.  
  253. BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
  254. BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
  255.  
  256. template<
  257.       typename F, typename T1, typename T2, typename T3, typename T4
  258.     , typename T5
  259.     >
  260. struct bind5
  261. {
  262.     template<
  263.           typename U1 = na, typename U2 = na, typename U3 = na
  264.         , typename U4 = na, typename U5 = na
  265.         >
  266.     struct apply
  267.     {
  268.      private:
  269.         typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
  270.         typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
  271.         typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
  272.         typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
  273.         typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
  274.         typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
  275.  
  276.      public:
  277.         typedef typename apply_wrap5<
  278.               f_
  279.             , typename t1::type, typename t2::type, typename t3::type
  280.             , typename t4::type, typename t5::type
  281.             >::type type;
  282.  
  283.     };
  284. };
  285.  
  286. namespace aux {
  287.  
  288. template<
  289.       typename F, typename T1, typename T2, typename T3, typename T4
  290.     , typename T5, typename U1, typename U2, typename U3, typename U4
  291.     , typename U5
  292.     >
  293. struct resolve_bind_arg<
  294.       bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
  295.     >
  296. {
  297.     typedef bind5< F,T1,T2,T3,T4,T5 > f_;
  298.     typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
  299. };
  300.  
  301. } // namespace aux
  302.  
  303. BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
  304. BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
  305. }}
  306.  
  307.  
downloadbasic_bind.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