|
Boost : |
From: Paul A. Bristow (boost_at_[hidden])
Date: 2003-08-09 14:00:07
OK, I'm persuaded.
Yet another thing one needs to know and my brain is already full :-(
Since I couldn't find how to make the editor work with .ipp files from the MS
documentation, but it ws kindly provided by a diligent Booster, can you suggest
where this info shold be stored?
Thanks.
Paul
PS Do files of type .ipp get checked for nasties like tabs, dud newlines?
| -----Original Message-----
| From: boost-bounces_at_[hidden]
| [mailto:boost-bounces_at_[hidden]]On Behalf Of David Abrahams
| Sent: Saturday, August 09, 2003 1:40 PM
| To: boost_at_[hidden]
| Subject: [boost] Re: Files of types *.ipp are unfriendly, especially to
| MSVC ?
|
|
| "Paul A. Bristow" <boost_at_[hidden]> writes:
|
| > Please can you say why we need yet another file type? what is wrong
| > with .cpp or .hpp?
|
| If you want to split up your template sources into interface and
| implementation (there are lots of good reasons to do that, including
| controlling instantiation), you can't very well use the same name
| (foo.hpp) twice, and foo.cpp wouldn't be appropriate for either one.
| foo.ipp clearly delineates the file as an implementation file intended to
| be #included in foo.hpp.
|
|
| --
| Dave Abrahams
| Boost Consulting
| www.boost-consulting.com
Jeff Garland wrote:
In date_time the intent is to conditionally inline code for tuning
performance. I believe the first time I saw this used was in the ACE library
where .ipp files are use extensively for conditional inlining. It is
straightforward, clearly identifies the intent (if you know why it is there),
and a bit less ugly than something like _impl.hpp. Bulka and Mayhew
(Efficient C++, 2000) describe this technique in chapter 10. They use .inl as
a file extension, which has the same issues as the .ipp file. So, I think
there is good precedent for this and now that workarounds for MSVC have been
provided I'd really rather not change.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk