annotate DEPENDENCIES/generic/include/boost/bind/bind_mf2_cc.hpp @ 125:34e428693f5d vext

Vext -> Repoint
author Chris Cannam
date Thu, 14 Jun 2018 11:15:39 +0100
parents 2665513ce2d3
children
rev   line source
Chris@16 1 //
Chris@16 2 // bind/bind_mf2_cc.hpp - member functions, type<> syntax
Chris@16 3 //
Chris@16 4 // Do not include this header directly.
Chris@16 5 //
Chris@16 6 // Copyright (c) 2001 Peter Dimov and Multi Media Ltd.
Chris@16 7 // Copyright (c) 2008 Peter Dimov
Chris@16 8 //
Chris@16 9 // Distributed under the Boost Software License, Version 1.0.
Chris@16 10 // See accompanying file LICENSE_1_0.txt or copy at
Chris@16 11 // http://www.boost.org/LICENSE_1_0.txt
Chris@16 12 //
Chris@16 13 // See http://www.boost.org/libs/bind/bind.html for documentation.
Chris@16 14 //
Chris@16 15
Chris@16 16 // 0
Chris@16 17
Chris@16 18 template<class Rt2, class R, class T,
Chris@16 19 class A1>
Chris@16 20 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf0)<R, T>, typename _bi::list_av_1<A1>::type>
Chris@16 21 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (), A1 a1)
Chris@16 22 {
Chris@16 23 typedef _mfi::BOOST_BIND_MF_NAME(mf0)<R, T> F;
Chris@16 24 typedef typename _bi::list_av_1<A1>::type list_type;
Chris@16 25 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1));
Chris@16 26 }
Chris@16 27
Chris@16 28 template<class Rt2, class R, class T,
Chris@16 29 class A1>
Chris@16 30 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T>, typename _bi::list_av_1<A1>::type>
Chris@16 31 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) () const, A1 a1)
Chris@16 32 {
Chris@16 33 typedef _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T> F;
Chris@16 34 typedef typename _bi::list_av_1<A1>::type list_type;
Chris@16 35 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1));
Chris@16 36 }
Chris@16 37
Chris@16 38 // 1
Chris@16 39
Chris@16 40 template<class Rt2, class R, class T,
Chris@16 41 class B1,
Chris@16 42 class A1, class A2>
Chris@16 43 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
Chris@16 44 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1), A1 a1, A2 a2)
Chris@16 45 {
Chris@16 46 typedef _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1> F;
Chris@16 47 typedef typename _bi::list_av_2<A1, A2>::type list_type;
Chris@16 48 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2));
Chris@16 49 }
Chris@16 50
Chris@16 51 template<class Rt2, class R, class T,
Chris@16 52 class B1,
Chris@16 53 class A1, class A2>
Chris@16 54 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
Chris@16 55 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1) const, A1 a1, A2 a2)
Chris@16 56 {
Chris@16 57 typedef _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1> F;
Chris@16 58 typedef typename _bi::list_av_2<A1, A2>::type list_type;
Chris@16 59 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2));
Chris@16 60 }
Chris@16 61
Chris@16 62 // 2
Chris@16 63
Chris@16 64 template<class Rt2, class R, class T,
Chris@16 65 class B1, class B2,
Chris@16 66 class A1, class A2, class A3>
Chris@16 67 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
Chris@16 68 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2), A1 a1, A2 a2, A3 a3)
Chris@16 69 {
Chris@16 70 typedef _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2> F;
Chris@16 71 typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
Chris@16 72 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3));
Chris@16 73 }
Chris@16 74
Chris@16 75 template<class Rt2, class R, class T,
Chris@16 76 class B1, class B2,
Chris@16 77 class A1, class A2, class A3>
Chris@16 78 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
Chris@16 79 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2) const, A1 a1, A2 a2, A3 a3)
Chris@16 80 {
Chris@16 81 typedef _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2> F;
Chris@16 82 typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
Chris@16 83 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3));
Chris@16 84 }
Chris@16 85
Chris@16 86 // 3
Chris@16 87
Chris@16 88 template<class Rt2, class R, class T,
Chris@16 89 class B1, class B2, class B3,
Chris@16 90 class A1, class A2, class A3, class A4>
Chris@16 91 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>
Chris@16 92 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3), A1 a1, A2 a2, A3 a3, A4 a4)
Chris@16 93 {
Chris@16 94 typedef _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3> F;
Chris@16 95 typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
Chris@16 96 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4));
Chris@16 97 }
Chris@16 98
Chris@16 99 template<class Rt2, class R, class T,
Chris@16 100 class B1, class B2, class B3,
Chris@16 101 class A1, class A2, class A3, class A4>
Chris@16 102 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>
Chris@16 103 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const, A1 a1, A2 a2, A3 a3, A4 a4)
Chris@16 104 {
Chris@16 105 typedef _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3> F;
Chris@16 106 typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
Chris@16 107 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4));
Chris@16 108 }
Chris@16 109
Chris@16 110 // 4
Chris@16 111
Chris@16 112 template<class Rt2, class R, class T,
Chris@16 113 class B1, class B2, class B3, class B4,
Chris@16 114 class A1, class A2, class A3, class A4, class A5>
Chris@16 115 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
Chris@16 116 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
Chris@16 117 {
Chris@16 118 typedef _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4> F;
Chris@16 119 typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
Chris@16 120 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));
Chris@16 121 }
Chris@16 122
Chris@16 123 template<class Rt2, class R, class T,
Chris@16 124 class B1, class B2, class B3, class B4,
Chris@16 125 class A1, class A2, class A3, class A4, class A5>
Chris@16 126 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
Chris@16 127 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
Chris@16 128 {
Chris@16 129 typedef _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4> F;
Chris@16 130 typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
Chris@16 131 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));
Chris@16 132 }
Chris@16 133
Chris@16 134 // 5
Chris@16 135
Chris@16 136 template<class Rt2, class R, class T,
Chris@16 137 class B1, class B2, class B3, class B4, class B5,
Chris@16 138 class A1, class A2, class A3, class A4, class A5, class A6>
Chris@16 139 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
Chris@16 140 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
Chris@16 141 {
Chris@16 142 typedef _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5> F;
Chris@16 143 typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
Chris@16 144 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));
Chris@16 145 }
Chris@16 146
Chris@16 147 template<class Rt2, class R, class T,
Chris@16 148 class B1, class B2, class B3, class B4, class B5,
Chris@16 149 class A1, class A2, class A3, class A4, class A5, class A6>
Chris@16 150 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
Chris@16 151 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
Chris@16 152 {
Chris@16 153 typedef _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5> F;
Chris@16 154 typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
Chris@16 155 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));
Chris@16 156 }
Chris@16 157
Chris@16 158 // 6
Chris@16 159
Chris@16 160 template<class Rt2, class R, class T,
Chris@16 161 class B1, class B2, class B3, class B4, class B5, class B6,
Chris@16 162 class A1, class A2, class A3, class A4, class A5, class A6, class A7>
Chris@16 163 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
Chris@16 164 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
Chris@16 165 {
Chris@16 166 typedef _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6> F;
Chris@16 167 typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
Chris@16 168 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));
Chris@16 169 }
Chris@16 170
Chris@16 171 template<class Rt2, class R, class T,
Chris@16 172 class B1, class B2, class B3, class B4, class B5, class B6,
Chris@16 173 class A1, class A2, class A3, class A4, class A5, class A6, class A7>
Chris@16 174 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
Chris@16 175 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
Chris@16 176 {
Chris@16 177 typedef _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6> F;
Chris@16 178 typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
Chris@16 179 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));
Chris@16 180 }
Chris@16 181
Chris@16 182 // 7
Chris@16 183
Chris@16 184 template<class Rt2, class R, class T,
Chris@16 185 class B1, class B2, class B3, class B4, class B5, class B6, class B7,
Chris@16 186 class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
Chris@16 187 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
Chris@16 188 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
Chris@16 189 {
Chris@16 190 typedef _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;
Chris@16 191 typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
Chris@16 192 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));
Chris@16 193 }
Chris@16 194
Chris@16 195 template<class Rt2, class R, class T,
Chris@16 196 class B1, class B2, class B3, class B4, class B5, class B6, class B7,
Chris@16 197 class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
Chris@16 198 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
Chris@16 199 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
Chris@16 200 {
Chris@16 201 typedef _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;
Chris@16 202 typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
Chris@16 203 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));
Chris@16 204 }
Chris@16 205
Chris@16 206 // 8
Chris@16 207
Chris@16 208 template<class Rt2, class R, class T,
Chris@16 209 class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
Chris@16 210 class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
Chris@16 211 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
Chris@16 212 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
Chris@16 213 {
Chris@16 214 typedef _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
Chris@16 215 typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
Chris@16 216 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
Chris@16 217 }
Chris@16 218
Chris@16 219 template<class Rt2, class R, class T,
Chris@16 220 class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
Chris@16 221 class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
Chris@16 222 _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
Chris@16 223 BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
Chris@16 224 {
Chris@16 225 typedef _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
Chris@16 226 typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
Chris@16 227 return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
Chris@16 228 }