Boost logo

Boost Users :

From: Duane Murphy (duanemurphy_at_[hidden])
Date: 2004-02-01 13:15:51


The return type of boost::bind is fairly indeterminate. In order to call
a bound function at a later time, look at boost::function. It does a nice
job of holding on to a function that uses boost::bind.

--- At Sun, 1 Feb 2004 08:45:43 -0500, Cheenu Srinivasan wrote:

>I wish to store the return value of boost::bind in an intermediate object
>to invoke it at a later time. I only ever see examples which combine
>the call to boost:bind with the immediate invocation on the returned
>object such as:
>
> #include <boost/bind.hpp>
> using namespace boost;
> #include <iostream>
> using namespace std;
>
> double f(int i, double d) {
> cout << "int = " << i << endl;
> return d;
> }
>
> main() {
> int i = 99;
> cout << bind(f, _1, 1.234)(i) << endl;
> }
>
>Instead I'd like to postpone the call to the returned object. What's the
>type of obj?
>
> main() {
> int i = 99;
> WHAT_IS_MY_TYPE obj = bind(f, _1, 1.234);
> ...
> cout << obj(i) << endl;
>}

 ...Duane


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net