BVB Source Codes

mars Show bind.hpp Source code

Return Download mars: download 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/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.       typename T
  28.     , typename Arg
  29.     >
  30. struct replace_unnamed_arg
  31. {
  32.     typedef Arg next;
  33.     typedef T type;
  34. };
  35.  
  36. template<
  37.       typename Arg
  38.     >
  39. struct replace_unnamed_arg< arg< -1 >, Arg >
  40. {
  41.     typedef typename Arg::next next;
  42.     typedef Arg type;
  43. };
  44.  
  45. template<
  46.       int N, typename U1, typename U2, typename U3, typename U4, typename U5
  47.     >
  48. struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
  49. {
  50.     typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
  51. };
  52.  
  53. } // namespace aux
  54.  
  55. template<
  56.       typename F
  57.     >
  58. struct bind0
  59. {
  60.     template<
  61.           typename U1 = na, typename U2 = na, typename U3 = na
  62.         , typename U4 = na, typename U5 = na
  63.         >
  64.     struct apply
  65.     {
  66.      private:
  67.         typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
  68.         typedef typename r0::type a0;
  69.         typedef typename r0::next n1;
  70.         typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
  71.         ///
  72.      public:
  73.         typedef typename apply_wrap0<
  74.               f_
  75.             >::type type;
  76.  
  77.     };
  78. };
  79.  
  80. namespace aux {
  81.  
  82. template<
  83.       typename F, typename U1, typename U2, typename U3, typename U4
  84.     , typename U5
  85.     >
  86. struct resolve_bind_arg<
  87.       bind0<F>, U1, U2, U3, U4, U5
  88.     >
  89. {
  90.     typedef bind0<F> f_;
  91.     typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
  92. };
  93.  
  94. } // namespace aux
  95.  
  96. BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
  97. BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
  98.  
  99. template<
  100.       typename F, typename T1
  101.     >
  102. struct bind1
  103. {
  104.     template<
  105.           typename U1 = na, typename U2 = na, typename U3 = na
  106.         , typename U4 = na, typename U5 = na
  107.         >
  108.     struct apply
  109.     {
  110.      private:
  111.         typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
  112.         typedef typename r0::type a0;
  113.         typedef typename r0::next n1;
  114.         typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
  115.         ///
  116.         typedef aux::replace_unnamed_arg< T1,n1 > r1;
  117.         typedef typename r1::type a1;
  118.         typedef typename r1::next n2;
  119.         typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
  120.         ///
  121.      public:
  122.         typedef typename apply_wrap1<
  123.               f_
  124.             , typename t1::type
  125.             >::type type;
  126.  
  127.     };
  128. };
  129.  
  130. namespace aux {
  131.  
  132. template<
  133.       typename F, typename T1, typename U1, typename U2, typename U3
  134.     , typename U4, typename U5
  135.     >
  136. struct resolve_bind_arg<
  137.       bind1< F,T1 >, U1, U2, U3, U4, U5
  138.     >
  139. {
  140.     typedef bind1< F,T1 > f_;
  141.     typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
  142. };
  143.  
  144. } // namespace aux
  145.  
  146. BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
  147. BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
  148.  
  149. template<
  150.       typename F, typename T1, typename T2
  151.     >
  152. struct bind2
  153. {
  154.     template<
  155.           typename U1 = na, typename U2 = na, typename U3 = na
  156.         , typename U4 = na, typename U5 = na
  157.         >
  158.     struct apply
  159.     {
  160.      private:
  161.         typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
  162.         typedef typename r0::type a0;
  163.         typedef typename r0::next n1;
  164.         typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
  165.         ///
  166.         typedef aux::replace_unnamed_arg< T1,n1 > r1;
  167.         typedef typename r1::type a1;
  168.         typedef typename r1::next n2;
  169.         typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
  170.         ///
  171.         typedef aux::replace_unnamed_arg< T2,n2 > r2;
  172.         typedef typename r2::type a2;
  173.         typedef typename r2::next n3;
  174.         typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
  175.         ///
  176.      public:
  177.         typedef typename apply_wrap2<
  178.               f_
  179.             , typename t1::type, typename t2::type
  180.             >::type type;
  181.  
  182.     };
  183. };
  184.  
  185. namespace aux {
  186.  
  187. template<
  188.       typename F, typename T1, typename T2, typename U1, typename U2
  189.     , typename U3, typename U4, typename U5
  190.     >
  191. struct resolve_bind_arg<
  192.       bind2< F,T1,T2 >, U1, U2, U3, U4, U5
  193.     >
  194. {
  195.     typedef bind2< F,T1,T2 > f_;
  196.     typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
  197. };
  198.  
  199. } // namespace aux
  200.  
  201. BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
  202. BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
  203.  
  204. template<
  205.       typename F, typename T1, typename T2, typename T3
  206.     >
  207. struct bind3
  208. {
  209.     template<
  210.           typename U1 = na, typename U2 = na, typename U3 = na
  211.         , typename U4 = na, typename U5 = na
  212.         >
  213.     struct apply
  214.     {
  215.      private:
  216.         typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
  217.         typedef typename r0::type a0;
  218.         typedef typename r0::next n1;
  219.         typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
  220.         ///
  221.         typedef aux::replace_unnamed_arg< T1,n1 > r1;
  222.         typedef typename r1::type a1;
  223.         typedef typename r1::next n2;
  224.         typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
  225.         ///
  226.         typedef aux::replace_unnamed_arg< T2,n2 > r2;
  227.         typedef typename r2::type a2;
  228.         typedef typename r2::next n3;
  229.         typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
  230.         ///
  231.         typedef aux::replace_unnamed_arg< T3,n3 > r3;
  232.         typedef typename r3::type a3;
  233.         typedef typename r3::next n4;
  234.         typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
  235.         ///
  236.      public:
  237.         typedef typename apply_wrap3<
  238.               f_
  239.             , typename t1::type, typename t2::type, typename t3::type
  240.             >::type type;
  241.  
  242.     };
  243. };
  244.  
  245. namespace aux {
  246.  
  247. template<
  248.       typename F, typename T1, typename T2, typename T3, typename U1
  249.     , typename U2, typename U3, typename U4, typename U5
  250.     >
  251. struct resolve_bind_arg<
  252.       bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
  253.     >
  254. {
  255.     typedef bind3< F,T1,T2,T3 > f_;
  256.     typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
  257. };
  258.  
  259. } // namespace aux
  260.  
  261. BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
  262. BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
  263.  
  264. template<
  265.       typename F, typename T1, typename T2, typename T3, typename T4
  266.     >
  267. struct bind4
  268. {
  269.     template<
  270.           typename U1 = na, typename U2 = na, typename U3 = na
  271.         , typename U4 = na, typename U5 = na
  272.         >
  273.     struct apply
  274.     {
  275.      private:
  276.         typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
  277.         typedef typename r0::type a0;
  278.         typedef typename r0::next n1;
  279.         typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
  280.         ///
  281.         typedef aux::replace_unnamed_arg< T1,n1 > r1;
  282.         typedef typename r1::type a1;
  283.         typedef typename r1::next n2;
  284.         typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
  285.         ///
  286.         typedef aux::replace_unnamed_arg< T2,n2 > r2;
  287.         typedef typename r2::type a2;
  288.         typedef typename r2::next n3;
  289.         typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
  290.         ///
  291.         typedef aux::replace_unnamed_arg< T3,n3 > r3;
  292.         typedef typename r3::type a3;
  293.         typedef typename r3::next n4;
  294.         typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
  295.         ///
  296.         typedef aux::replace_unnamed_arg< T4,n4 > r4;
  297.         typedef typename r4::type a4;
  298.         typedef typename r4::next n5;
  299.         typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
  300.         ///
  301.      public:
  302.         typedef typename apply_wrap4<
  303.               f_
  304.             , typename t1::type, typename t2::type, typename t3::type
  305.             , typename t4::type
  306.             >::type type;
  307.  
  308.     };
  309. };
  310.  
  311. namespace aux {
  312.  
  313. template<
  314.       typename F, typename T1, typename T2, typename T3, typename T4
  315.     , typename U1, typename U2, typename U3, typename U4, typename U5
  316.     >
  317. struct resolve_bind_arg<
  318.       bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
  319.     >
  320. {
  321.     typedef bind4< F,T1,T2,T3,T4 > f_;
  322.     typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
  323. };
  324.  
  325. } // namespace aux
  326.  
  327. BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
  328. BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
  329.  
  330. template<
  331.       typename F, typename T1, typename T2, typename T3, typename T4
  332.     , typename T5
  333.     >
  334. struct bind5
  335. {
  336.     template<
  337.           typename U1 = na, typename U2 = na, typename U3 = na
  338.         , typename U4 = na, typename U5 = na
  339.         >
  340.     struct apply
  341.     {
  342.      private:
  343.         typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
  344.         typedef typename r0::type a0;
  345.         typedef typename r0::next n1;
  346.         typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
  347.         ///
  348.         typedef aux::replace_unnamed_arg< T1,n1 > r1;
  349.         typedef typename r1::type a1;
  350.         typedef typename r1::next n2;
  351.         typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
  352.         ///
  353.         typedef aux::replace_unnamed_arg< T2,n2 > r2;
  354.         typedef typename r2::type a2;
  355.         typedef typename r2::next n3;
  356.         typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
  357.         ///
  358.         typedef aux::replace_unnamed_arg< T3,n3 > r3;
  359.         typedef typename r3::type a3;
  360.         typedef typename r3::next n4;
  361.         typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
  362.         ///
  363.         typedef aux::replace_unnamed_arg< T4,n4 > r4;
  364.         typedef typename r4::type a4;
  365.         typedef typename r4::next n5;
  366.         typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
  367.         ///
  368.         typedef aux::replace_unnamed_arg< T5,n5 > r5;
  369.         typedef typename r5::type a5;
  370.         typedef typename r5::next n6;
  371.         typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
  372.         ///
  373.      public:
  374.         typedef typename apply_wrap5<
  375.               f_
  376.             , typename t1::type, typename t2::type, typename t3::type
  377.             , typename t4::type, typename t5::type
  378.             >::type type;
  379.  
  380.     };
  381. };
  382.  
  383. namespace aux {
  384.  
  385. template<
  386.       typename F, typename T1, typename T2, typename T3, typename T4
  387.     , typename T5, typename U1, typename U2, typename U3, typename U4
  388.     , typename U5
  389.     >
  390. struct resolve_bind_arg<
  391.       bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
  392.     >
  393. {
  394.     typedef bind5< F,T1,T2,T3,T4,T5 > f_;
  395.     typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
  396. };
  397.  
  398. } // namespace aux
  399.  
  400. BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
  401. BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
  402. }}
  403.  
  404.  
downloadbind.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