boost::signal1<int, int, max_or_default<int> > s1;
s1.connect(std::negate<int>());
+
+#if defined(BOOST_NO_CXX11_HDR_FUNCTIONAL)
+
s1.connect(std::bind1st(std::multiplies<int>(), 2));
+
+#else
+
+ s1.connect(std::bind(std::multiplies<int>(), 2, std::placeholders::_1));
+
+#endif
BOOST_CHECK(s1(1) == 2);
BOOST_CHECK(s1(-1) == 1);
{
boost::signal1<int, int, max_or_default<int> > s2;
s1.connect(s2);
+
+#if defined(BOOST_NO_CXX11_HDR_FUNCTIONAL)
+
s2.connect(std::bind1st(std::multiplies<int>(), 2));
s2.connect(std::bind1st(std::multiplies<int>(), -3));
+
+#else
+
+ s2.connect(std::bind(std::multiplies<int>(), 2, std::placeholders::_1));
+ s2.connect(std::bind(std::multiplies<int>(), -3, std::placeholders::_1));
+
+#endif
BOOST_CHECK(s2(-3) == 9);
BOOST_CHECK(s1(3) == 6);