Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/boost/bind/detail/bind_mf2_cc.hpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 //
0002 //  bind/bind_mf2_cc.hpp - member functions, type<> syntax
0003 //
0004 //  Do not include this header directly.
0005 //
0006 //  Copyright (c) 2001 Peter Dimov and Multi Media Ltd.
0007 //  Copyright (c) 2008 Peter Dimov
0008 //
0009 //  Distributed under the Boost Software License, Version 1.0.
0010 //  See accompanying file LICENSE_1_0.txt or copy at
0011 //  http://www.boost.org/LICENSE_1_0.txt
0012 //
0013 //  See http://www.boost.org/libs/bind/bind.html for documentation.
0014 //
0015 
0016 // 0
0017 
0018 template<class Rt2, class R, class T,
0019     class A1>
0020     auto
0021     BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) () BOOST_BIND_MF_NOEXCEPT, A1 a1)
0022     -> decltype( boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1 ) )
0023 {
0024     return boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1 );
0025 }
0026 
0027 template<class Rt2, class R, class T,
0028     class A1>
0029     auto
0030     BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) () const BOOST_BIND_MF_NOEXCEPT, A1 a1)
0031     -> decltype( boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1 ) )
0032 {
0033     return boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1 );
0034 }
0035 
0036 // 1
0037 
0038 template<class Rt2, class R, class T,
0039     class B1,
0040     class A1, class A2>
0041     auto
0042     BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2)
0043     -> decltype( boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2 ) )
0044 {
0045     return boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2 );
0046 }
0047 
0048 template<class Rt2, class R, class T,
0049     class B1,
0050     class A1, class A2>
0051     auto
0052     BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2)
0053     -> decltype( boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2 ) )
0054 {
0055     return boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2 );
0056 }
0057 
0058 // 2
0059 
0060 template<class Rt2, class R, class T,
0061     class B1, class B2,
0062     class A1, class A2, class A3>
0063     auto
0064     BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3)
0065     -> decltype( boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3 ) )
0066 {
0067     return boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3 );
0068 }
0069 
0070 template<class Rt2, class R, class T,
0071     class B1, class B2,
0072     class A1, class A2, class A3>
0073     auto
0074     BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3)
0075     -> decltype( boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3 ) )
0076 {
0077     return boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3 );
0078 }
0079 
0080 // 3
0081 
0082 template<class Rt2, class R, class T,
0083     class B1, class B2, class B3,
0084     class A1, class A2, class A3, class A4>
0085     auto
0086     BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4)
0087     -> decltype( boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4 ) )
0088 {
0089     return boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4 );
0090 }
0091 
0092 template<class Rt2, class R, class T,
0093     class B1, class B2, class B3,
0094     class A1, class A2, class A3, class A4>
0095     auto
0096     BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4)
0097     -> decltype( boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4 ) )
0098 {
0099     return boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4 );
0100 }
0101 
0102 // 4
0103 
0104 template<class Rt2, class R, class T,
0105     class B1, class B2, class B3, class B4,
0106     class A1, class A2, class A3, class A4, class A5>
0107     auto
0108     BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
0109     -> decltype( boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4, a5 ) )
0110 {
0111     return boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4, a5 );
0112 }
0113 
0114 template<class Rt2, class R, class T,
0115     class B1, class B2, class B3, class B4,
0116     class A1, class A2, class A3, class A4, class A5>
0117     auto
0118     BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
0119     -> decltype( boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4, a5 ) )
0120 {
0121     return boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4, a5 );
0122 }
0123 
0124 // 5
0125 
0126 template<class Rt2, class R, class T,
0127     class B1, class B2, class B3, class B4, class B5,
0128     class A1, class A2, class A3, class A4, class A5, class A6>
0129     auto
0130     BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
0131     -> decltype( boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6 ) )
0132 {
0133     return boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6 );
0134 }
0135 
0136 template<class Rt2, class R, class T,
0137     class B1, class B2, class B3, class B4, class B5,
0138     class A1, class A2, class A3, class A4, class A5, class A6>
0139     auto
0140     BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
0141     -> decltype( boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6 ) )
0142 {
0143     return boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6 );
0144 }
0145 
0146 // 6
0147 
0148 template<class Rt2, class R, class T,
0149     class B1, class B2, class B3, class B4, class B5, class B6,
0150     class A1, class A2, class A3, class A4, class A5, class A6, class A7>
0151     auto
0152     BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
0153     -> decltype( boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7 ) )
0154 {
0155     return boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7 );
0156 }
0157 
0158 template<class Rt2, class R, class T,
0159     class B1, class B2, class B3, class B4, class B5, class B6,
0160     class A1, class A2, class A3, class A4, class A5, class A6, class A7>
0161     auto
0162     BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
0163     -> decltype( boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7 ) )
0164 {
0165     return boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7 );
0166 }
0167 
0168 // 7
0169 
0170 template<class Rt2, class R, class T,
0171     class B1, class B2, class B3, class B4, class B5, class B6, class B7,
0172     class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
0173     auto
0174     BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
0175     -> decltype( boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8 ) )
0176 {
0177     return boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8 );
0178 }
0179 
0180 template<class Rt2, class R, class T,
0181     class B1, class B2, class B3, class B4, class B5, class B6, class B7,
0182     class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
0183     auto
0184     BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
0185     -> decltype( boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8 ) )
0186 {
0187     return boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8 );
0188 }
0189 
0190 // 8
0191 
0192 template<class Rt2, class R, class T,
0193     class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
0194     class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
0195     auto
0196     BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
0197     -> decltype( boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8, a9 ) )
0198 {
0199     return boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8, a9 );
0200 }
0201 
0202 template<class Rt2, class R, class T,
0203     class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
0204     class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
0205     auto
0206     BOOST_BIND(boost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
0207     -> decltype( boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8, a9 ) )
0208 {
0209     return boost::BOOST_BIND( boost::type<Rt2>(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8, a9 );
0210 }