Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2001-05-04 07:19:11

From: "Jesse Jones" <jesjones_at_[hidden]>

> At 5:21 PM +0300 5/3/01, Peter Dimov wrote:
> >From: "Jesse Jones" <jesjones_at_[hidden]>
> >
> >> 2) The API is a bit more awkward than I would like. For example, I
> >> have lots of code that looks sort of like this:
> >>
> >> // About
> > > function<void> action(this, &CApp::DoAbout);
> >> handler->RegisterCommand(kAboutCmd, action, kDisabledIfDialog);
> >
> >[...]
> >
> >Doesn't bind.hpp that I recently posted solve these problems?
> Sure, but most people will use member function pointers very heavily.
> It doesn't seem reasonable to require them to drag in binders for
> such a common operation...

button.onClick = function<void>(this, &CApp::DoAbout);


button.onClick = bind(this, &CApp::DoAbout);


handler->RegisterCommand(kAboutCmd, function<void>(this, &CApp::DoAbout));


handler->RegisterCommand(kAboutCmd, bind(this, &CApp::DoAbout));

In either case, you have to "drag in" binders. Whether you spell the binder
name "bind" or "function<void>" doesn't affect the code - except that if you
require 'function' to have bind functionality it will have to either drag in
bind.hpp, even if you don't bind anything, or duplicate the bind code.

[Don't CC me, please. :-)]

Peter Dimov
Multi Media Ltd.

Boost list run by bdawes at, gregod at, cpdaniel at, john at