Boost logo

Boost :

From: Jens Maurer (Jens.Maurer_at_[hidden])
Date: 2001-07-13 17:14:38


williamkempf_at_[hidden] wrote:
> Yes, I think it should, but I come to a different conclusion than I
> think you just did (if I read the above correctly). I think Boost
> should use "" exclusively for all headers not part of the standard
> library. Reasonings:
>
> 1) <...> is the only form gauranteed to work for standard headers
> (which may not be files).

Agreed.

> 2) <...> may not work for non-standard headers (which will be files).

While the standard may appear to say that, it seems to be highly
unlikely that a compiler will enforce that. There are lots of other
projects using the <...> convention for additional "system" headers,
for example POSIX or the X11 graphical user interface system for Unix
boxes.

> 4) <...> headers are ignored as dependencies by some build tools,
> such as VC++ projects.

Depending on the viewpoint, that may actually be the right thing
to do. Isn't upgrading boost in a way similar to upgrading your
compiler's standard headers to a new version? Boost developers
may have a different answer than people only using boost.

Note that the boost FAQ recommends freezing a version of boost
for your end-user project's use, therefore updates may be as
infrequent as a new servicepack for MSVC.

In general, include handling is a very platform-specific issue,
so I would not read too much into the standard in this area,
and rely on experience with actual compilers instead.

As a personal preference, I like the look and feel of <...>
denoting "system" headers, e.g. standard headers, POSIX
headers, or third party libraries such as boost usually installed
in a central location on the machine. Opposed to this are
"..." headers local to the current project.

Jens Maurer


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