LCOV - code coverage report
Current view: top level - usr/include/boost/bind - bind_cc.hpp (source / functions) Hit Total Coverage
Test: ROSE Lines: 2 2 100.0 %
Date: 2022-12-08 13:48:47 Functions: 1 1 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //
       2             : //  bind/bind_cc.hpp - support for different calling conventions
       3             : //
       4             : //  Do not include this header directly.
       5             : //
       6             : //  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.
       7             : //
       8             : // Distributed under the Boost Software License, Version 1.0. (See
       9             : // accompanying file LICENSE_1_0.txt or copy at
      10             : // http://www.boost.org/LICENSE_1_0.txt)
      11             : //
      12             : //  See http://www.boost.org/libs/bind/bind.html for documentation.
      13             : //
      14             : 
      15             : template<class R>
      16             :     _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) () BOOST_BIND_NOEXCEPT, _bi::list0>
      17             :     BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) () BOOST_BIND_NOEXCEPT)
      18             : {
      19             :     typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) () BOOST_BIND_NOEXCEPT;
      20             :     typedef _bi::list0 list_type;
      21             :     return _bi::bind_t<R, F, list_type> (f, list_type());
      22             : }
      23             : 
      24             : template<class R, class B1, class A1>
      25             :     _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1) BOOST_BIND_NOEXCEPT, typename _bi::list_av_1<A1>::type>
      26             :     BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1) BOOST_BIND_NOEXCEPT, A1 a1)
      27             : {
      28             :     typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1) BOOST_BIND_NOEXCEPT;
      29             :     typedef typename _bi::list_av_1<A1>::type list_type;
      30             :     return _bi::bind_t<R, F, list_type> (f, list_type(a1));
      31             : }
      32             : 
      33             : template<class R, class B1, class B2, class A1, class A2>
      34             :     _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2) BOOST_BIND_NOEXCEPT, typename _bi::list_av_2<A1, A2>::type>
      35             :     BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2) BOOST_BIND_NOEXCEPT, A1 a1, A2 a2)
      36             : {
      37             :     typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2) BOOST_BIND_NOEXCEPT;
      38             :     typedef typename _bi::list_av_2<A1, A2>::type list_type;
      39             :     return _bi::bind_t<R, F, list_type> (f, list_type(a1, a2));
      40             : }
      41             : 
      42             : template<class R,
      43             :     class B1, class B2, class B3,
      44             :     class A1, class A2, class A3>
      45             :     _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3) BOOST_BIND_NOEXCEPT, typename _bi::list_av_3<A1, A2, A3>::type>
      46     2394510 :     BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3) BOOST_BIND_NOEXCEPT, A1 a1, A2 a2, A3 a3)
      47             : {
      48             :     typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3) BOOST_BIND_NOEXCEPT;
      49             :     typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
      50     9578040 :     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3));
      51             : }
      52             : 
      53             : template<class R,
      54             :     class B1, class B2, class B3, class B4,
      55             :     class A1, class A2, class A3, class A4>
      56             :     _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4) BOOST_BIND_NOEXCEPT, typename _bi::list_av_4<A1, A2, A3, A4>::type>
      57             :     BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4) BOOST_BIND_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4)
      58             : {
      59             :     typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4) BOOST_BIND_NOEXCEPT;
      60             :     typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
      61             :     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4));
      62             : }
      63             : 
      64             : template<class R,
      65             :     class B1, class B2, class B3, class B4, class B5,
      66             :     class A1, class A2, class A3, class A4, class A5>
      67             :     _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5) BOOST_BIND_NOEXCEPT, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
      68             :     BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5) BOOST_BIND_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
      69             : {
      70             :     typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5) BOOST_BIND_NOEXCEPT;
      71             :     typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
      72             :     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5));
      73             : }
      74             : 
      75             : template<class R,
      76             :     class B1, class B2, class B3, class B4, class B5, class B6,
      77             :     class A1, class A2, class A3, class A4, class A5, class A6>
      78             :     _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6) BOOST_BIND_NOEXCEPT, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
      79             :     BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6) BOOST_BIND_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
      80             : {
      81             :     typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6) BOOST_BIND_NOEXCEPT;
      82             :     typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
      83             :     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));
      84             : }
      85             : 
      86             : template<class R,
      87             :     class B1, class B2, class B3, class B4, class B5, class B6, class B7,
      88             :     class A1, class A2, class A3, class A4, class A5, class A6, class A7>
      89             :     _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6, B7) BOOST_BIND_NOEXCEPT, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
      90             :     BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6, B7) BOOST_BIND_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
      91             : {
      92             :     typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7) BOOST_BIND_NOEXCEPT;
      93             :     typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
      94             :     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));
      95             : }
      96             : 
      97             : template<class R,
      98             :     class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
      99             :     class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
     100             :     _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6, B7, B8) BOOST_BIND_NOEXCEPT, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
     101             :     BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6, B7, B8) BOOST_BIND_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
     102             : {
     103             :     typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7, B8) BOOST_BIND_NOEXCEPT;
     104             :     typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
     105             :     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));
     106             : }
     107             : 
     108             : template<class R,
     109             :     class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8, class B9,
     110             :     class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
     111             :     _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6, B7, B8, B9) BOOST_BIND_NOEXCEPT, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
     112             :     BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6, B7, B8, B9) BOOST_BIND_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
     113             : {
     114             :     typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7, B8, B9) BOOST_BIND_NOEXCEPT;
     115             :     typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
     116             :     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
     117             : }

Generated by: LCOV version 1.14