Boost logo

Boost :

From: Victor A. Wagner, Jr. (vawjr_at_[hidden])
Date: 2002-07-21 02:50:17

Well, Stroustrup (3rd edition), Section 9.2.1 (yeah, I know, not the standard)
refers to "header files" as both the ones the system has, and the ones a
programmer writes so that definitions of objects, functions, classes are
consist ant.

At Saturday 2002/07/20 17:36, you wrote:
>On Sat, 20 Jul 2002 22:01:41 +0100, "Mark Rodgers"
><mark.rodgers_at_[hidden]> wrote:
> >From: "Beman Dawes" <bdawes_at_[hidden]>
> >>
> >> As Gennaro Prota mentioned, the only headers are C++ Standard Library
> >> headers. The standard has no notion of a user header, only a user source
> >> file.
> >
> >I'm not sure how you arrive at that conclusion. As I noted in a another
> >message, my interpretation is different.
>Well, the problem is that the standard doesn't give a definition of
>'header'. Sic stantibus rebus, one tries to "reconstruct" it like a
>puzzle from various sentences used here and there.
>If I understand you correctly, your interpretation is based on the
>fact that you read 16.2/2 as a definition of 'header':
>"A preprocessing directive of the form
># include <h-char-sequence> new-line
>searches a sequence of implementation-defined places for a header
>identified uniquely by the specified sequence between the < and >
>That is, you say: "a header is what is searched when a #include <> is
>Granted, it's not that if one wants - and if he takes that sentence
>alone - it *cannot* be read this way (I strongly think the standard
>should adhere to a more consistent form when giving definitions; for
>instance there are places where a definition given 'italicizing' the
>term is spanned through several consecutive sentences, and one doesn't
>know when the definition ends and the properties of the defined entity
>begin; furthermore "free forms" allow different interpretations and
>give room to discussions like this. A definition should at least make
>clear what is the term that is defined) but the fact is it makes other
>parts of the standard weird: why the word 'header' is never used when
>speaking of user 'source files' ? (Is it?) And why using the phrase
>'header or source file'? For instance why not saying that
>- #include <> includes (standard) headers
>- #include "" includes headers
>and that the search sequence and the name mapping are different
>between the two forms?
>In this case you would say that a header (standard or not) is a source
>file (which AFAIK is not necessarily a file-system file) and you would
>be done (2.1/4 would simply become "A #include preprocessing directive
>causes the named *header* to be processed")
>What else?
>P.S.: prayer to the standard folks: why the standard forces us to
>discuss for days on such *simple* things (without a conclusion)? what
>was difficult in clarifying something like that?
>P.P.S. to Mark: yes, the phrase 'library header' (not 'standard
>library header') is used in many places but it "implies" that there
>are non-library headers just as what I observed above "implies" that
>there are not (too sad I think.... please re-read the P.S., the
>re-read it, and then... it again...- well this is not
>directed to you, of course ;-) )
>P.P.P.S.: can someone shed a light on this?
>Unsubscribe & other changes:

Victor A. Wagner Jr.
PGP RSA fingerprint = 4D20 EBF6 0101 B069 3817 8DBF C846 E47A
PGP D-H fingerprint = 98BC 65E3 1A19 43EC 3908 65B9 F755 E6F4 63BB 9D93
The five most dangerous words in the English language:
               "There oughta be a law"

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