Boost logo

Boost Users :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-11-15 09:28:46


gast 128 wrote:

> Dear all,
>
> Probably this is something one does not encounter often, but I have here
> an interface which expects more arguments than needed, e.g.:
>
> void SomeInterface(boost::function<void (Arg1, Arg2)> fcCallback)
> {}
>
> now I have another functor like:
> boost::function<void (Arg1)> fc;
>
> I want fc apply to SomeInterface, and it only needs to fill in argument1.
>
> So I need something like boost::bind(fc, _1, _2) to get it compilable for
> SomeInterface, only bind now thinks that fc has a prototype of two
> arguments. Is there a way to tell bind to ignore argument2 (without
> explicit write a functor)?

I believe the result of

   bind(fc, _1)

would happily accept two arguments, discarding the second. As an extreme
example:

   void do_nothing() {}
   int r;
   bind(do_nothing)(r, r, r, r, r, r);

works fine.

- Volodya


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