Re: [Boost Signals & Slots] Vs [libsigc++]



On Thursday 18 November 2004 09:50, Murray Cumming wrote:

> This part makes no sense to me. It would have to be explained properly
> before we could comment:
> "
> Basically, libsigc++ is a monolithic entity covering single and
> multiple-target callbacks, slots, and slot binding, Signals tackles
> only the multiple-target callbacks, relying on other Boost libraries
> (especially Function and Signals) to do most of the work, so it
> integrates cleanly with the rest of Boost.
> "

What that tends to mean in practice is that if you want to use one particular 
boost library such as boost::signals for your program, you have to import the 
whole of the boost header system into the program's source distribution 
package (which is what for example lyx does, in order to use boost::signals 
and boost::regex), or require users to install the boost libraries in their 
system.  It is virtually impossible to separate the headers out because they 
are interdependent (claimed as a virtue in the passage quoted), and in any 
event no dependency tables are supplied.

In boost 1.30, which is the most recent version I have used, the code in the 
boost directory (which contains the headers) as opposed to the libs directory 
(from which object code for the boost libraries is generated), is no less 
than 16M in size according to 'du', partly because the boost library is 
heavily templated and the templates are in header files.  If using 
boost::signals you would need to import libs/signals also, but that is much 
smaller (156K in boost 1.30).

I did write a program to list dependencies in order to figure out how to split 
up the boost headers for particular boost libraries but I found that you 
quickly end up needing most of them.

Give me monolithic.

Chris.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]