Boost logo

Boost :

Subject: Re: [boost] [Modularization] A new approach to header modularization
From: Emil Dotchevski (emildotchevski_at_[hidden])
Date: 2009-05-28 19:00:40


On Thu, May 28, 2009 at 3:34 PM, Christopher Jefferson
<chris_at_[hidden]> wrote:
> On 28 May 2009, at 22:45, Emil Dotchevski wrote:
>> On Thu, May 28, 2009 at 2:31 PM, Daniel James <daniel_james_at_[hidden]>
>> wrote:
>>>
>>> Although, you can add me to the people who are currently happy enough
>>> with the status quo.
>>
>> Me too, I don't understand what would this reorganization improve.
>> What would make sense for me personally would be an effort to reduce
>> physical coupling in Boost, by moving as much code as possible from
>> headers to CPP files.
>
> Out of interest, how would this help? The majority of libraries make no
> attempt to maintain a stable API from version to version, so the only gain I
> could see would be reduced compile time. Useful yes, but not obvious helping
> maintence?

It would help maintenance in two ways:

- by minimizing the number of compilation units that need to be
recompiled when making a change

- by minimizing the amount of code that's visible to the compiler for
each compilation unit when it does need to be recompiled

> Also, so many (all?) libraries use templates, which won't go into
> cpp files.

Many function templates have parts that don't depend on template
parameters and could be separated in a cpp file. Also, many Boost
headers contain regular (non-template) inline functions, because
there's pressure from users (and developers) to keep Boost libraries
header-only.

Emil Dotchevski
Reverge Studios, Inc.
http://www.revergestudios.com/reblog/index.php?n=ReCode


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk