Go to the documentation of this file. 1 #ifndef BOOST_BIND_BIND_HPP_INCLUDED
2 #define BOOST_BIND_BIND_HPP_INCLUDED
6 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
35 #if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
41 #if defined(__BORLANDC__)
42 # define BOOST_BIND_VISIT_EACH boost::visit_each
44 # define BOOST_BIND_VISIT_EACH visit_each
50 # pragma warning(push)
51 # pragma warning(disable: 4512) // assignment operator could not be generated
69 #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
109 template<
class R,
class F,
class L>
class bind_t;
141 return !(a.get() < b.get()) && !(b.get() < a.get());
146 template<
class T>
class type {};
219 #pragma warning(push)
220 #pragma warning(disable:4100)
358 template<
class A1,
class A2,
class A3 >
class list3:
private storage3< A1, A2, A3 >
421 template<
class A1,
class A2,
class A3,
class A4 >
class list4:
private storage4< A1, A2, A3, A4 >
487 template<
class A1,
class A2,
class A3,
class A4,
class A5 >
class list5:
private storage5< A1, A2, A3, A4, A5 >
556 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6>
class list6:
private storage6< A1, A2, A3, A4, A5, A6 >
564 list6(
A1 a1,
A2 a2,
A3 a3,
A4 a4,
A5 a5,
A6 a6 ):
base_type( a1, a2, a3, a4, a5, a6 ) {}
628 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7>
class list7:
private storage7< A1, A2, A3, A4, A5, A6, A7 >
636 list7(
A1 a1,
A2 a2,
A3 a3,
A4 a4,
A5 a5,
A6 a6,
A7 a7 ):
base_type( a1, a2, a3, a4, a5, a6, a7 ) {}
703 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8 >
class list8:
private storage8< A1, A2, A3, A4, A5, A6, A7, A8 >
711 list8(
A1 a1,
A2 a2,
A3 a3,
A4 a4,
A5 a5,
A6 a6,
A7 a7, A8 a8 ):
base_type( a1, a2, a3, a4, a5, a6, a7, a8 ) {}
781 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
class list9:
private storage9< A1, A2, A3, A4, A5, A6, A7, A8, A9 >
789 list9(
A1 a1,
A2 a2,
A3 a3,
A4 a4,
A5 a5,
A6 a6,
A7 a7, A8 a8, A9 a9 ):
base_type( a1, a2, a3, a4, a5, a6, a7, a8, a9 ) {}
868 #if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
939 template<
class A1,
class A2,
class A3 >
class rrlist3
978 template<
class A1,
class A2,
class A3,
class A4 >
class rrlist4
1020 template<
class A1,
class A2,
class A3,
class A4,
class A5 >
class rrlist5
1065 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6 >
class rrlist6
1078 rrlist6(
A1 & a1,
A2 & a2,
A3 & a3,
A4 & a4,
A5 & a5,
A6 & a6 ):
a1_( a1 ),
a2_( a2 ),
a3_( a3 ),
a4_( a4 ),
a5_( a5 ),
a6_( a6 ) {}
1102 rrlist6<A1&, A2&, A3&, A4&, A5&, A6&> a(
a1_,
a2_,
a3_,
a4_,
a5_,
a6_ );
1108 rrlist6<A1&, A2&, A3&, A4&, A5&, A6&> a(
a1_,
a2_,
a3_,
a4_,
a5_,
a6_ );
1113 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7 >
class rrlist7
1127 rrlist7(
A1 & a1,
A2 & a2,
A3 & a3,
A4 & a4,
A5 & a5,
A6 & a6,
A7 & a7 ):
a1_( a1 ),
a2_( a2 ),
a3_( a3 ),
a4_( a4 ),
a5_( a5 ),
a6_( a6 ),
a7_( a7 ) {}
1153 rrlist7<A1&, A2&, A3&, A4&, A5&, A6&, A7&> a(
a1_,
a2_,
a3_,
a4_,
a5_,
a6_,
a7_ );
1159 rrlist7<A1&, A2&, A3&, A4&, A5&, A6&, A7&> a(
a1_,
a2_,
a3_,
a4_,
a5_,
a6_,
a7_ );
1164 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8 >
class rrlist8
1179 rrlist8(
A1 & a1,
A2 & a2,
A3 & a3,
A4 & a4,
A5 & a5,
A6 & a6,
A7 & a7, A8 & a8 ):
a1_( a1 ),
a2_( a2 ),
a3_( a3 ),
a4_( a4 ),
a5_( a5 ),
a6_( a6 ),
a7_( a7 ),
a8_( a8 ) {}
1207 rrlist8<A1&, A2&, A3&, A4&, A5&, A6&, A7&, A8&> a(
a1_,
a2_,
a3_,
a4_,
a5_,
a6_,
a7_,
a8_ );
1213 rrlist8<A1&, A2&, A3&, A4&, A5&, A6&, A7&, A8&> a(
a1_,
a2_,
a3_,
a4_,
a5_,
a6_,
a7_,
a8_ );
1218 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9 >
class rrlist9
1234 rrlist9(
A1 & a1,
A2 & a2,
A3 & a3,
A4 & a4,
A5 & a5,
A6 & a6,
A7 & a7, A8 & a8, A9 & a9 ):
a1_( a1 ),
a2_( a2 ),
a3_( a3 ),
a4_( a4 ),
a5_( a5 ),
a6_( a6 ),
a7_( a7 ),
a8_( a8 ),
a9_( a9 ) {}
1264 rrlist9<A1&, A2&, A3&, A4&, A5&, A6&, A7&, A8&, A9&> a(
a1_,
a2_,
a3_,
a4_,
a5_,
a6_,
a7_,
a8_,
a9_ );
1270 rrlist9<A1&, A2&, A3&, A4&, A5&, A6&, A7&, A8&, A9&> a(
a1_,
a2_,
a3_,
a4_,
a5_,
a6_,
a7_,
a8_,
a9_ );
1275 template<
class R,
class F,
class L>
class bind_t
1363 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6>
result_type operator()(
A1 && a1,
A2 && a2,
A3 && a3,
A4 && a4,
A5 && a5,
A6 && a6 )
1365 rrlist6< A1, A2, A3, A4, A5, A6 > a( a1, a2, a3, a4, a5, a6 );
1369 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6>
result_type operator()(
A1 && a1,
A2 && a2,
A3 && a3,
A4 && a4,
A5 && a5,
A6 && a6 )
const
1371 rrlist6< A1, A2, A3, A4, A5, A6 > a( a1, a2, a3, a4, a5, a6 );
1375 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7>
result_type operator()(
A1 && a1,
A2 && a2,
A3 && a3,
A4 && a4,
A5 && a5,
A6 && a6,
A7 && a7 )
1377 rrlist7< A1, A2, A3, A4, A5, A6, A7 > a( a1, a2, a3, a4, a5, a6, a7 );
1381 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7>
result_type operator()(
A1 && a1,
A2 && a2,
A3 && a3,
A4 && a4,
A5 && a5,
A6 && a6,
A7 && a7 )
const
1383 rrlist7< A1, A2, A3, A4, A5, A6, A7 > a( a1, a2, a3, a4, a5, a6, a7 );
1387 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8>
result_type operator()(
A1 && a1,
A2 && a2,
A3 && a3,
A4 && a4,
A5 && a5,
A6 && a6,
A7 && a7, A8 && a8 )
1389 rrlist8< A1, A2, A3, A4, A5, A6, A7, A8 > a( a1, a2, a3, a4, a5, a6, a7, a8 );
1393 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8>
result_type operator()(
A1 && a1,
A2 && a2,
A3 && a3,
A4 && a4,
A5 && a5,
A6 && a6,
A7 && a7, A8 && a8 )
const
1395 rrlist8< A1, A2, A3, A4, A5, A6, A7, A8 > a( a1, a2, a3, a4, a5, a6, a7, a8 );
1399 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
result_type operator()(
A1 && a1,
A2 && a2,
A3 && a3,
A4 && a4,
A5 && a5,
A6 && a6,
A7 && a7, A8 && a8, A9 && a9 )
1401 rrlist9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > a( a1, a2, a3, a4, a5, a6, a7, a8, a9 );
1405 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
result_type operator()(
A1 && a1,
A2 && a2,
A3 && a3,
A4 && a4,
A5 && a5,
A6 && a6,
A7 && a7, A8 && a8, A9 && a9 )
const
1407 rrlist9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > a( a1, a2, a3, a4, a5, a6, a7, a8, a9 );
1425 #if !defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( __BORLANDC__ )
1439 #elif !defined( BOOST_NO_VOID_RETURNS )
1441 template<
class R,
class F,
class L>
class bind_t
1449 #define BOOST_BIND_RETURN return
1451 #undef BOOST_BIND_RETURN
1455 #else // no void returns
1457 template<
class R>
struct bind_t_generator
1460 template<
class F,
class L>
class implementation
1464 typedef implementation this_type;
1466 implementation(F f, L
const & l):
f_(
f),
l_(l) {}
1468 #define BOOST_BIND_RETURN return
1470 #undef BOOST_BIND_RETURN
1476 template<>
struct bind_t_generator<void>
1479 template<
class F,
class L>
class implementation
1487 typedef implementation this_type;
1489 implementation(F f, L
const & l):
f_(
f),
l_(l) {}
1491 #define BOOST_BIND_RETURN
1493 #undef BOOST_BIND_RETURN
1499 template<
class R2,
class F,
class L>
class bind_t:
public bind_t_generator<R2>
::BOOST_NESTED_TEMPLATE implementation<F, L>
1511 #ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
1515 # ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
1519 return a.compare(b);
1524 template<
class R,
class F,
class L>
bool function_equal_impl( bind_t<R, F, L>
const & a, bind_t<R, F, L>
const & b,
int )
1526 return a.compare(b);
1529 # endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
1531 #else // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
1537 # ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
1539 template<
class R,
class F,
class L>
bool function_equal( _bi::bind_t<R, F, L>
const & a, _bi::bind_t<R, F, L>
const & b )
1541 return a.compare(b);
1546 template<
class R,
class F,
class L>
bool function_equal_impl( _bi::bind_t<R, F, L>
const & a, _bi::bind_t<R, F, L>
const & b,
int )
1548 return a.compare(b);
1551 # endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
1556 #endif // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
1560 #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || (__SUNPRO_CC >= 0x530)
1562 #if defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x582) )
1564 template<
class T>
struct add_value
1566 typedef _bi::value<T>
type;
1615 template<
int I>
struct _avt_0;
1617 template<>
struct _avt_0<1>
1619 template<
class T>
struct inner
1625 template<>
struct _avt_0<2>
1627 template<
class T>
struct inner
1629 typedef value<T> type;
1633 typedef char (&_avt_r1) [1];
1634 typedef char (&_avt_r2) [2];
1636 template<
class T> _avt_r1 _avt_f(value<T>);
1637 template<
class T> _avt_r1 _avt_f(reference_wrapper<T>);
1638 template<
int I> _avt_r1 _avt_f(
arg<I>);
1639 template<
int I> _avt_r1 _avt_f(
arg<I> (*) ());
1640 template<
class R,
class F,
class L> _avt_r1 _avt_f(bind_t<R, F, L>);
1642 _avt_r2 _avt_f(...);
1644 template<
class T>
struct add_value
1647 typedef typename _avt_0<
sizeof(_avt_f(t()))>::
template inner<T>::type
type;
1675 template<
class A1,
class A2,
class A3,
class A4>
struct list_av_4
1684 template<
class A1,
class A2,
class A3,
class A4,
class A5>
struct list_av_5
1694 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6>
struct list_av_6
1705 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7>
struct list_av_7
1717 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8>
struct list_av_8
1730 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
struct list_av_9
1751 template<
class R,
class F,
class L>
1752 bind_t< bool, logical_not, list1< bind_t<R, F, L> > >
1761 #define BOOST_BIND_OPERATOR( op, name ) \
1765 template<class V, class W> bool operator()(V const & v, W const & w) const { return v op w; } \
1768 template<class R, class F, class L, class A2> \
1769 bind_t< bool, name, list2< bind_t<R, F, L>, typename add_value<A2>::type > > \
1770 operator op (bind_t<R, F, L> const & f, A2 a2) \
1772 typedef typename add_value<A2>::type B2; \
1773 typedef list2< bind_t<R, F, L>, B2> list_type; \
1774 return bind_t<bool, name, list_type> ( name(), list_type(f, a2) ); \
1789 #undef BOOST_BIND_OPERATOR
1791 #if defined(__GNUC__) && BOOST_WORKAROUND(__GNUC__, < 3)
1795 #define BOOST_BIND_OPERATOR( op, name ) \
1797 template<class R, class F, class L> \
1798 bind_t< bool, name, list2< bind_t<R, F, L>, bind_t<R, F, L> > > \
1799 operator op (bind_t<R, F, L> const & f, bind_t<R, F, L> const & g) \
1801 typedef list2< bind_t<R, F, L>, bind_t<R, F, L> > list_type; \
1802 return bind_t<bool, name, list_type> ( name(), list_type(f, g) ); \
1814 #if !defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( __BORLANDC__ ) \
1815 && !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
1834 #if defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) || defined( __BORLANDC__ ) \
1835 || (defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
1837 template<
class V,
class T>
void visit_each(
V & v, _bi::value<T>
const & t,
int )
1842 template<
class V,
class R,
class F,
class L>
void visit_each(
V & v, _bi::bind_t<R, F, L>
const & t,
int )
1856 #if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
1868 #define BOOST_BIND bind
1873 template<
class R,
class F>
1874 _bi::bind_t<R, F, _bi::list0>
1881 template<
class R,
class F,
class A1>
1882 _bi::bind_t<R, F, typename _bi::list_av_1<A1>::type>
1889 template<
class R,
class F,
class A1,
class A2>
1890 _bi::bind_t<R, F, typename _bi::list_av_2<A1, A2>::type>
1897 template<
class R,
class F,
class A1,
class A2,
class A3>
1898 _bi::bind_t<R, F, typename _bi::list_av_3<A1, A2, A3>::type>
1905 template<
class R,
class F,
class A1,
class A2,
class A3,
class A4>
1906 _bi::bind_t<R, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>
1913 template<
class R,
class F,
class A1,
class A2,
class A3,
class A4,
class A5>
1914 _bi::bind_t<R, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
1921 template<
class R,
class F,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6>
1922 _bi::bind_t<R, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
1929 template<
class R,
class F,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7>
1930 _bi::bind_t<R, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
1937 template<
class R,
class F,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8>
1938 _bi::bind_t<R, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
1942 return _bi::bind_t<R, F, list_type>(
f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));
1945 template<
class R,
class F,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
1946 _bi::bind_t<R, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
1950 return _bi::bind_t<R, F, list_type>(
f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
1955 template<
class R,
class F>
1956 _bi::bind_t<R, F, _bi::list0>
1963 template<
class R,
class F,
class A1>
1964 _bi::bind_t<R, F, typename _bi::list_av_1<A1>::type>
1971 template<
class R,
class F,
class A1,
class A2>
1972 _bi::bind_t<R, F, typename _bi::list_av_2<A1, A2>::type>
1979 template<
class R,
class F,
class A1,
class A2,
class A3>
1980 _bi::bind_t<R, F, typename _bi::list_av_3<A1, A2, A3>::type>
1987 template<
class R,
class F,
class A1,
class A2,
class A3,
class A4>
1988 _bi::bind_t<R, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>
1995 template<
class R,
class F,
class A1,
class A2,
class A3,
class A4,
class A5>
1996 _bi::bind_t<R, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
2003 template<
class R,
class F,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6>
2004 _bi::bind_t<R, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
2011 template<
class R,
class F,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7>
2012 _bi::bind_t<R, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
2019 template<
class R,
class F,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8>
2020 _bi::bind_t<R, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
2024 return _bi::bind_t<R, F, list_type>(
f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));
2027 template<
class R,
class F,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
2028 _bi::bind_t<R, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
2029 BOOST_BIND(
boost::type<R>, F f,
A1 a1,
A2 a2,
A3 a3,
A4 a4,
A5 a5,
A6 a6,
A7 a7, A8 a8, A9 a9)
2032 return _bi::bind_t<R, F, list_type>(
f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
2035 #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
2040 _bi::bind_t<_bi::unspecified, F, _bi::list0>
2047 template<
class F,
class A1>
2048 _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_1<A1>::type>
2055 template<
class F,
class A1,
class A2>
2056 _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_2<A1, A2>::type>
2063 template<
class F,
class A1,
class A2,
class A3>
2064 _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_3<A1, A2, A3>::type>
2071 template<
class F,
class A1,
class A2,
class A3,
class A4>
2072 _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>
2079 template<
class F,
class A1,
class A2,
class A3,
class A4,
class A5>
2080 _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
2087 template<
class F,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6>
2088 _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
2095 template<
class F,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7>
2096 _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
2103 template<
class F,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8>
2104 _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
2108 return _bi::bind_t<_bi::unspecified, F, list_type>(
f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));
2111 template<
class F,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
2112 _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
2116 return _bi::bind_t<_bi::unspecified, F, list_type>(
f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
2119 #endif // !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
2123 #define BOOST_BIND_CC
2124 #define BOOST_BIND_ST
2128 #undef BOOST_BIND_CC
2129 #undef BOOST_BIND_ST
2131 #ifdef BOOST_BIND_ENABLE_STDCALL
2133 #define BOOST_BIND_CC __stdcall
2134 #define BOOST_BIND_ST
2138 #undef BOOST_BIND_CC
2139 #undef BOOST_BIND_ST
2143 #ifdef BOOST_BIND_ENABLE_FASTCALL
2145 #define BOOST_BIND_CC __fastcall
2146 #define BOOST_BIND_ST
2150 #undef BOOST_BIND_CC
2151 #undef BOOST_BIND_ST
2155 #ifdef BOOST_BIND_ENABLE_PASCAL
2157 #define BOOST_BIND_ST pascal
2158 #define BOOST_BIND_CC
2162 #undef BOOST_BIND_ST
2163 #undef BOOST_BIND_CC
2169 #define BOOST_BIND_MF_NAME(X) X
2170 #define BOOST_BIND_MF_CC
2175 #undef BOOST_BIND_MF_NAME
2176 #undef BOOST_BIND_MF_CC
2178 #ifdef BOOST_MEM_FN_ENABLE_CDECL
2180 #define BOOST_BIND_MF_NAME(X) X##_cdecl
2181 #define BOOST_BIND_MF_CC __cdecl
2186 #undef BOOST_BIND_MF_NAME
2187 #undef BOOST_BIND_MF_CC
2191 #ifdef BOOST_MEM_FN_ENABLE_STDCALL
2193 #define BOOST_BIND_MF_NAME(X) X##_stdcall
2194 #define BOOST_BIND_MF_CC __stdcall
2199 #undef BOOST_BIND_MF_NAME
2200 #undef BOOST_BIND_MF_CC
2204 #ifdef BOOST_MEM_FN_ENABLE_FASTCALL
2206 #define BOOST_BIND_MF_NAME(X) X##_fastcall
2207 #define BOOST_BIND_MF_CC __fastcall
2212 #undef BOOST_BIND_MF_NAME
2213 #undef BOOST_BIND_MF_CC
2219 #if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
2220 || ( defined(__BORLANDC__) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x620 ) ) )
2222 template<
class R,
class T,
class A1>
2226 typedef _mfi::dm<R, T> F;
2228 return _bi::bind_t<R, F, list_type>( F(
f), list_type(a1) );
2246 #pragma warning(push)
2247 #pragma warning(disable:4180)
2251 #pragma warning(pop)
2260 #if !defined(__IBMCPP__) || __IBMCPP_FUNC_CV_TMPL_ARG_DEDUCTION
2262 template<
class R,
class T >
struct add_cref<
R (
T::*) () const, 1 >
2267 #endif // __IBMCPP__
2297 template<
class A1,
class M,
class T >
2317 #ifndef BOOST_BIND_NO_PLACEHOLDERS
2324 # pragma warning(default: 4512) // assignment operator could not be generated
2325 # pragma warning(pop)
2328 #endif // #ifndef BOOST_BIND_BIND_HPP_INCLUDED
A1 operator[](boost::arg< 1 >) const
void operator()(type< void >, F &f, A &a, int)
bool operator==(list7 const &rhs) const
bool operator()(type< bool >, logical_or &, A &a, int)
result_type eval(A &a) const
list9(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
bool operator==(list2 const &rhs) const
result_type operator()(A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5, A6 &&a6, A7 &&a7)
A1 && operator[](boost::arg< 1 >) const
R operator()(type< R >, F &f, A &, long)
R operator()(type< R >, F const &f, A &a, long) const
void operator()(type< void >, F const &f, A &a, int) const
list4< B1, B2, B3, B4 > type
R operator()(type< R >, F &f, A &a, long)
result_type operator()(A1 &&a1, A2 &&a2, A3 &&a3) const
bind_t< R, F, L >::result_type result_type
list9< B1, B2, B3, B4, B5, B6, B7, B8, B9 > type
A1 operator[](boost::arg< 1 >) const
rrlist8(A1 &a1, A2 &a2, A3 &a3, A4 &a4, A5 &a5, A6 &a6, A7 &a7, A8 &a8)
list6(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
BOOST_FORCEINLINE T * get_pointer() const
T & operator[](_bi::value< T > &v) const
R operator()(type< R >, F const &f, A &a, long) const
storage6< A1, A2, A3, A4, A5, A6 > base_type
storage2< A1, A2 > base_type
add_cref< Pm, isref< result_type >::value >::type type
rrlist7(A1 &a1, A2 &a2, A3 &a3, A4 &a4, A5 &a5, A6 &a6, A7 &a7)
R operator()(type< R >, F const &f, A &a, long) const
result_traits< R, F >::type result_type
rrlist3(A1 &a1, A2 &a2, A3 &a3)
result_type operator()(A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4) const
A1 operator[](boost::arg< 1 >) const
A1 && operator[](boost::arg< 1 >) const
bool operator==(list6 const &rhs) const
storage9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > base_type
result_type operator()(A1 &&a1) const
result_type operator()(A1 &&a1, A2 &&a2)
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
bool operator==(list5 const &rhs) const
A1 operator[](boost::arg< 1 >) const
void operator()(type< void >, F &f, A &a, int)
result_type operator()(A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5, A6 &&a6, A7 &&a7, A8 &&a8) const
void operator()(type< void >, F &f, A &a, int)
list5(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
void operator()(type< void >, F const &f, A &a, int) const
static _mfi::dm< R, T > unwrap(R T::*pm, int)
void operator()(type< void >, F const &f, A &a, int) const
bool operator()(type< bool >, logical_or const &, A &a, int) const
bool operator()(type< bool >, logical_and &, A &a, int)
result_type operator()(A1 &&a1, A2 &&a2) const
BOOST_FORCEINLINE T & get() const
A1 && operator[](boost::arg< 1 >) const
void operator()(type< void >, F &f, A &a, int)
result_type operator()(A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5) const
R operator()(type< R >, F const &f, A &a, long) const
bool operator==(list9 const &rhs) const
bind_t< bool, logical_not, list1< bind_t< R, F, L > > > operator!(bind_t< R, F, L > const &f)
void operator()(type< void >, F const &f, A &a, int) const
R operator()(type< R >, F &f, A &a, long)
R operator()(type< R >, F &f, A &a, long)
bool operator()(type< bool >, logical_and const &, A &a, int) const
result_type operator()() const
bool operator==(list1 const &rhs) const
R operator()(type< R >, F const &f, A &a, long) const
list8< B1, B2, B3, B4, B5, B6, B7, B8 > type
list7(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
R operator()(type< R >, F &f, A &a, long)
R operator()(type< R >, F const &f, A &a, long) const
storage8< A1, A2, A3, A4, A5, A6, A7, A8 > base_type
static F & unwrap(F &f, long)
void visit_each(V &v, value< T > const &t, int)
void operator()(type< void >, F &f, A &, int)
void operator()(type< void >, F &f, A &a, int)
rrlist6(A1 &a1, A2 &a2, A3 &a3, A4 &a4, A5 &a5, A6 &a6)
storage4< A1, A2, A3, A4 > base_type
R operator()(type< R >, F const &f, A &a, long) const
list3(A1 a1, A2 a2, A3 a3)
A1 operator[](boost::arg< 1 >) const
result_type operator()(A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4)
void visit_each(Visitor &visitor, const T &t, long)
result_type operator()(A1 &&a1)
reference_wrapper< T > type
storage7< A1, A2, A3, A4, A5, A6, A7 > base_type
A1 && operator[](boost::arg< 1 >) const
bool operator==(value const &rhs) const
void operator()(type< void >, F &f, A &a, int)
A1 && operator[](boost::arg< 1 >) const
A1 && operator[](boost::arg< 1 >) const
rrlist9(A1 &a1, A2 &a2, A3 &a3, A4 &a4, A5 &a5, A6 &a6, A7 &a7, A8 &a8, A9 &a9)
result_type operator()(A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5, A6 &&a6, A7 &&a7, A8 &&a8)
bool function_equal(bind_t< R, F, L > const &a, bind_t< R, F, L > const &b)
list5< B1, B2, B3, B4, B5 > type
list7< B1, B2, B3, B4, B5, B6, B7 > type
#define BOOST_NESTED_TEMPLATE
R operator()(type< R >, F &f, A &a, long)
R operator()(type< R >, F &f, A &a, long)
A1 operator[](boost::arg< 1 >) const
bool compare(this_type const &rhs) const
list8(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
static F2 & unwrap(reference_wrapper< F2 > rf, int)
R operator()(type< R >, F &f, A &a, long)
bool operator==(list0 const &) const
result_type operator()(A1 &&a1, A2 &&a2, A3 &&a3)
R operator()(type< R >, F &f, A &a, long)
storage3< A1, A2, A3 > base_type
void operator()(type< void >, F const &f, A &, int) const
A1 && operator[](boost::arg< 1 >) const
result_type operator()(A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5, A6 &&a6, A7 &&a7, A8 &&a8, A9 &&a9)
void operator()(type< void >, F const &f, A &a, int) const
add_cref< Pm, 1 >::type type
void operator()(type< void >, F const &f, A &a, int) const
result_type operator()(A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5, A6 &&a6)
A1 operator[](boost::arg< 1 >) const
void operator()(type< void >, F const &f, A &a, int) const
void operator()(type< void >, F &f, A &a, int)
result_type operator()(A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5, A6 &&a6, A7 &&a7) const
R operator()(type< R >, F &f, A &a, long)
void operator()(type< void >, F &f, A &a, int)
bool ref_compare(T const &a, T const &b, long)
R operator()(type< R >, F const &f, A &a, long) const
void operator()(type< void >, F const &f, A &a, int) const
result_traits< R, F >::type result_type
result_type operator()(A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5, A6 &&a6) const
bool operator()(V const &v) const
A1 operator[](boost::arg< 1 >) const
add_value_2< T, boost::is_placeholder< T >::value >::type type
void operator()(type< void >, F &f, A &a, int)
#define BOOST_BIND_OPERATOR(op, name)
list6< B1, B2, B3, B4, B5, B6 > type
void operator()(type< void >, F const &f, A &a, int) const
A1 && operator[](boost::arg< 1 >) const
list4(A1 a1, A2 a2, A3 a3, A4 a4)
result_type operator()(A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5, A6 &&a6, A7 &&a7, A8 &&a8, A9 &&a9) const
#define BOOST_BIND_VISIT_EACH
Contains a reference to an object of type T.
R operator()(type< R >, F const &f, A &, long) const
storage5< A1, A2, A3, A4, A5 > base_type
result_type operator()(A1 &&a1, A2 &&a2, A3 &&a3, A4 &&a4, A5 &&a5)
rrlist5(A1 &a1, A2 &a2, A3 &a3, A4 &a4, A5 &a5)
rrlist4(A1 &a1, A2 &a2, A3 &a3, A4 &a4)
bool operator==(list3 const &rhs) const
R operator()(type< R >, F const &f, A &a, long) const
_bi::bind_t< R, F, _bi::list0 > BOOST_BIND(F f)
A1 operator[](boost::arg< 1 >) const
A1 && operator[](boost::arg< 1 >) const
bool operator==(list4 const &rhs) const
bool operator==(list8 const &rhs) const
sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:37:16