Boost logo

Boost Users :

From: Victor A. Wagner, Jr. (vawjr_at_[hidden])
Date: 2003-09-30 23:36:16

note the additions and comments
At Tuesday 2003-09-30 14:11, you wrote:
>First, thanks for the prompt reply.
>I was wondering about mem_fn also
>IMO updating the docs to reflect that would be quite useful.... I think I
>personal prefer mem_fn() for our application.
>At Tuesday 2003-09-30 13:47, you wrote:
>>On Tuesday 30 September 2003 04:12 pm, Victor A. Wagner, Jr. wrote:
>> > I've been over the documentation several times and I keep getting the
>> > feeling that I'm just missing something.
>> > I'd like to have some member functions (methods) as slots for some signals
>> > (a la QT). I suspect that there is some form of bind that I could
>> use, but
>> > it's certainly not obvious to me.
>>Yep, bind can do it:
>>struct X {
>> int foo(float, char);

      void blah() const;

>>signal<int (X*, float, char)> sig;
>>sig.connect(bind(&X::foo, _1, _2, _3));

     X xt;
     signal<void(X*)> sigx;
     sigx.connect(bind(&X::blah, &xt));

     /// the above is more in line with what QT does with it's connect
(i.e. binds it to an instance and method)
     /// now only if there were some nifty syntactic sugar we could come up
with so we could:
     /// which would more clearly show the intent, IMO

>>// or
>>The _1 is the implicit object parameter ("this") that the member function
>>pointer is invoked with.
>> Doug

btw, I sent you a bug report w/ msvc++7.1 and debug assertion (heap not
valid) when destructing a signal

>>Boost-users mailing list
>Victor A. Wagner Jr.
>The five most dangerous words in the English language:
> "There oughta be a law"
>Boost-users mailing list

Victor A. Wagner Jr.
The five most dangerous words in the English language:
               "There oughta be a law"

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at