Boost logo

Boost :

From: Ames Andreas (Andreas.Ames_at_[hidden])
Date: 2007-04-04 08:36:16

> -----Original Message-----
> From: boost-bounces_at_[hidden]
> [mailto:boost-bounces_at_[hidden]] 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.



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

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