FastDelegate v Boost

Project5

17-04-2006 21:42:31

@Walaber: Just curious, I was wondering why you left FastDelegate. In the commented lines of your code, you mention that boost::bind allows you to point to class member functions.

The version of FastDelegate that you included before could as well, and worked just fine (at least for me).

What was the issue? I'm asking because I use FastDelegate elsewhere in my project too :-P

--Ben

OvermindDL1

17-04-2006 22:00:04

FastDelegate only allows using function pointers. Boost::Function and FastDelegate generate the same assembly for that. Boost::Function also allows using Lamba functions (anonymous simple in-line function definitions), functors, and a few other things. I use functors pretty often, kind of like an OO version of normal function pointers. In short, boost has no minus's other then a few more header files, and has enormous advantages.

Not to mention, get used to it knowing it, boost::function and boost::bind and a few others have already been accepted into the standard set for the next C++ revision.

walaber

18-04-2006 00:22:25

yeah... basically I was convinced that using Boost was the better way to go.

praetor

18-04-2006 17:53:38

Many Boost libraries are in line to become part of the C++ standard library. So, in my opinion, if you have two choices something Boost and something not that do similar things you should go with boost. As was stated, boosts libraries provide more than FastDelegate, just as fast, and very good documentation.

Project5

18-04-2006 18:39:13

I hadn't heard about boost being added to the standard until just now. I need to get out from under this rock more often :-)

Thanks for the advice.

For now... go go gadget code refactor!

--Ben

OvermindDL1

18-04-2006 21:40:20

Boost is generally regarded as the testbed for new technologies for the next C++ revisions. Boost itself is not being added (boost is made up of libraries, documentation, proposals, etc... quite a few things), but rather the most used and most generically usable libraries, like function and bind.