config and .cxx extensions

Is there a good reason that the config library needs to use a "creative" choice of file extensions rather than the boost standard of ".*pp"? -- Dave Abrahams Boost Consulting http://www.boost-consulting.com

Is there a good reason that the config library needs to use a "creative" choice of file extensions rather than the boost standard of ".*pp"?
Well they're not really complete .cpp files, and they're not headers as such either - more like snippets of code that get #included by various other files (the .cpp ones, and the configure script), so I wanted something distinctive to separate them from regular source and header files. John.

"John Maddock" <john@johnmaddock.co.uk> writes:
Is there a good reason that the config library needs to use a "creative" choice of file extensions rather than the boost standard of ".*pp"?
| Well they're not really complete .cpp files, and they're not headers as such | either - more like snippets of code that get #included by various other | files (the .cpp ones, and the configure script), so I wanted something | distinctive to separate them from regular source and header files. Then perhaps using some extension that is not a common C++ extension would be better? I know that gcc uses .tcc for something similar to this. (mostly for explict template instantiations) As for "standard" extensions, g++ recognizes these as C++ source: cc, cp, cxx, cpp, c++ and C -- Lgb

"John Maddock" <john@johnmaddock.co.uk> writes:
Is there a good reason that the config library needs to use a "creative" choice of file extensions rather than the boost standard of ".*pp"?
| Well they're not really complete .cpp files, and they're not
"Lars Gullik Bjønnes" <larsbj@gullik.net> wrote in message news:m3d646fj4c.fsf@tyfon.gullik.net... headers as such
| either - more like snippets of code that get #included by various other | files (the .cpp ones, and the configure script), so I wanted something | distinctive to separate them from regular source and header files.
Then perhaps using some extension that is not a common C++ extension would be better?
I know that gcc uses .tcc for something similar to this. (mostly for explict template instantiations)
The Boost.Threads library uses the .inl extension is used for this. Mike

larsbj@gullik.net (Lars Gullik Bjønnes) writes:
"John Maddock" <john@johnmaddock.co.uk> writes:
Is there a good reason that the config library needs to use a "creative" choice of file extensions rather than the boost standard of ".*pp"?
| Well they're not really complete .cpp files,
What makes something a "complete .cpp file?"
and they're not headers as such | either - more like snippets of code that get #included by various other | files (the .cpp ones, and the configure script), so I wanted something | distinctive to separate them from regular source and header files.
Then perhaps using some extension that is not a common C++ extension would be better?
Err. The whole point of using ".hpp" was so that we could quickly search through all the C++ source files with a simple filename globbing pattern. This is one of the first conventions we established, at Nico's wise insistence. At least use ".ipp", please! -- Dave Abrahams Boost Consulting http://www.boost-consulting.com

On Fri, 11 Jun 2004 09:45:59 -0400, David Abrahams <dave@boost-consulting.com> wrote:
Err. The whole point of using ".hpp" was so that we could quickly search through all the C++ source files with a simple filename globbing pattern. This is one of the first conventions we established, at Nico's wise insistence. At least use ".ipp", please!
But can the extension be changed without losing the CVS history? Genny.

Gennaro Prota <gennaro_prota@yahoo.com> writes:
On Fri, 11 Jun 2004 09:45:59 -0400, David Abrahams <dave@boost-consulting.com> wrote:
Err. The whole point of using ".hpp" was so that we could quickly search through all the C++ source files with a simple filename globbing pattern. This is one of the first conventions we established, at Nico's wise insistence. At least use ".ipp", please!
But can the extension be changed without losing the CVS history?
Yes, though it's a pain -- you have to write a script for the SF admins to run for you. But there are more important things than maintaining that history ;-) -- Dave Abrahams Boost Consulting http://www.boost-consulting.com

Err. The whole point of using ".hop" was so that we could quickly search through all the CO++ source files with a simple filename globing pattern. This is one of the first conventions we established, at NICO's wise insistence. At least use ".pip", please!
I seems that it would be much more easier to update search pattern so it includes *.Cox then change all files extensions. Moreover these files are located not in header but in a test directory and I don't see a reason to name it with .ipp extension (which is IMO is reserved for implementation placed in header). Maybe original convention does not meet our current reality/needs? Gennadiy.

"Gennadiy Rozental" <gennadiy.rozental@thomson.com> writes:
Err. The whole point of using ".hop" was so that we could quickly search through all the CO++ source files with a simple filename globing pattern. This is one of the first conventions we established, at NICO's wise insistence. At least use ".pip", please!
I seems that it would be much more easier to update search pattern so it includes *.Cox then change all files extensions.
And how many other patterns do I need to add? .ixx .inl ... ?
Moreover these files are located not in header but in a test directory and I don't see a reason to name it with .ipp extension
I already gave a reason (I don't care what the extension is as long as it ends with "pp").
(which is IMO is reserved for implementation placed in header).
Maybe original convention does not meet our current reality/needs?
The only real argument I've heard against the convention so far is that people have broken it in the past and we have some cleanup to do. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com

Err. The whole point of using ".hpp" was so that we could quickly search through all the C++ source files with a simple filename globbing pattern. This is one of the first conventions we established, at Nico's wise insistence. At least use ".ipp", please!
ipp is normally used for header includes, which these are not. Note that we also have *.inc in use in other libraries (personally I'm less keen on this because my IDE doesn't recognise the extension). BTW, the code has been this way since the config system review, and is documented as using this convention. It would have been helpful for issues like this to be raised at review time, otherwise we loose the cvs history for very little benefit. John.

"John Maddock" <john@johnmaddock.co.uk> writes:
Err. The whole point of using ".hpp" was so that we could quickly search through all the C++ source files with a simple filename globbing pattern. This is one of the first conventions we established, at Nico's wise insistence. At least use ".ipp", please!
ipp is normally used for header includes, which these are not.
I don't care whether it's ipp, hpp, cpp, or foopp as long as it ends in pp.
Note that we also have *.inc in use in other libraries (personally I'm less keen on this because my IDE doesn't recognise the extension).
Point being? Those should be fixed.
BTW, the code has been this way since the config system review, and is documented as using this convention. It would have been helpful for issues like this to be raised at review time
I don't remember that review, but if I had known about the use of cxx I certainly would've raised the issue.
, otherwise we loose the cvs history for very little benefit.
It isn't neccessary to lose the cvs history. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com

Err. The whole point of using ".hpp" was so that we could quickly search through all the C++ source files with a simple filename globbing pattern. This is one of the first conventions we established, at Nico's wise insistence. At least use ".ipp", please!
I don't care whether it's ipp, hpp, cpp, or foopp as long as it ends in pp.
OK, look when I have the time I'll try and change them to *.ipp. However, please note that I could find nothing about this in the Boost Guidelines page (just a line about using *.hpp for headers), so you may want to update those pages. John.

"John Maddock" <john@johnmaddock.co.uk> writes:
Err. The whole point of using ".hpp" was so that we could quickly search through all the C++ source files with a simple filename globbing pattern. This is one of the first conventions we established, at Nico's wise insistence. At least use ".ipp", please!
I don't care whether it's ipp, hpp, cpp, or foopp as long as it ends in pp.
OK, look when I have the time I'll try and change them to *.ipp.
However, please note that I could find nothing about this in the Boost Guidelines page (just a line about using *.hpp for headers), so you may want to update those pages.
Yeah, probably a good idea. I think it's just that nobody imagined anyone wanting other than cpp and hwhatever at the time, and so the guideline was written down but the rationale was lost. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com

"John Maddock" <john@johnmaddock.co.uk> writes:
OK, look when I have the time I'll try and change them to *.ipp.
Thanks.
However, please note that I could find nothing about this in the Boost Guidelines page (just a line about using *.hpp for headers), so you may want to update those pages.
Done -- Dave Abrahams Boost Consulting http://www.boost-consulting.com

"John Maddock" <john@johnmaddock.co.uk> wrote in message news:00f501c45065$2729b420$69da6b51@fuji...
ipp is normally used for header includes, which these are not. Note that
also have *.inc in use in other libraries (personally I'm less keen on
we this
because my IDE doesn't recognise the extension). BTW, the code has been
If it's VisualStudio, you can add the extensions to the registry to act like headers or source(compilable) files. I would bet most others have a similar facility. Jeff Flinn
participants (7)
-
David Abrahams
-
Gennadiy Rozental
-
Gennaro Prota
-
Jeff Flinn
-
John Maddock
-
larsbj@gullik.net
-
Michael Glassford