
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Felipe Magno de Almeida Sent: Wednesday, April 04, 2007 2:25 PM Subject: Re: [boost] [system] Why is this not header-only?
Since what I have to say is not a response to any specific message, I'm only answering to the thread. I'm very inclined to build libraries, rather than header-only. And that's not *only* because of compile-times. But visual C++ chokes on very big translation files, emiting errors about the compiler being out of keys. The only workaround I found was splitting it in more files and hiding some dependencies. This is quite common when using together very big libraries, e.g. serialization, multi_index, spirit, etc. Most of the time I don't need them together, but there are times when the same function uses more than one. Splitting it means an artificial separation and harder maintenance.
There are other reasons: * It's easier to put standalone libs into shared libs (i.e. for smaller executable sizes, text segment sharing, whatever) * With header-only libs you loose almost all the flexibility for fine-grained adjustments to the binary code (optimisation, abi etc.) That's not to say, that header-only libs are bad. But it would be bad to require all libs to be header-only or even to officially state they are preferred for boost, at least IMHO. cheers, aa -- Andreas Ames | Programmer | Comergo GmbH | ames AT avaya DOT com Sitz der Gesellschaft: Stuttgart Registergericht: Amtsgericht Stuttgart - HRB 22107 Geschäftsführer: Andreas von Meyer zu Knonow, Udo Bühler, Thomas Kreikemeier