1 // Boost.Function library examples 2 3 // Copyright Douglas Gregor 2001-2003. Use, modification and 4 // distribution is subject to the Boost Software License, Version 5 // 1.0. (See accompanying file LICENSE_1_0.txt or copy at 6 // http://www.boost.org/LICENSE_1_0.txt) 7 8 // For more information, see http://www.boost.org 9 10 #include <iostream> 11 #include <boost/function.hpp> 12 #include <functional> 13 14 struct X { XX15 X(int val) : value(val) {} 16 fooX17 int foo(int x) { return x * value; } 18 19 int value; 20 }; 21 22 23 int main()24main() 25 { 26 boost::function<int (int)> f; 27 X x(7); 28 f = std::bind1st(std::mem_fun(&X::foo), &x); 29 30 std::cout << f(5) << std::endl; // Call x.foo(5) 31 return 0; 32 } 33