Boost logo

Boost :

From: Carl Daniel (cpdaniel_at_[hidden])
Date: 2001-10-26 11:56:51


----- Original Message -----
From: "David Abrahams" <david.abrahams_at_[hidden]>
> ----- Original Message -----
> From: "Darin Adler" <darin_at_[hidden]>
> > on 10/26/01 7:55 AM, David Abrahams at david.abrahams_at_[hidden] wrote:
> >
> > > This demonstrates why using a little bit of name mangling in #include
> guards
> > > is a good idea. I use my initials and the date, which surely would have
> > > prevented this problem if either author had done it.
> >
> > While I agree that your discipline would have prevented this, the cause of
> > the problem is that when someone renamed the file from array.hpp to
> > array_traits.hpp they didn't change the contents of the file. So the
> comment
> > at the top still said array.hpp, and so did these define statements.
>
> I disagree with your analysis of the cause. With my discipline, there's no
> need to change the contents of the file when it is renamed. Also, since we
> have multiple subdirectories, it's entirely conceivable that this could have
> happened in separate directories where two files may have the same name.
>

Maybe those guys in Redmond aren't as backwards as some people suggest - witness the #include guards that the MFC
AppWizard creates:

#define AFX_CLIENTCERT_H__C6D93B61_235F_40E8_8F64_0BA3BF4B1B21__INCLUDED_

Pretty much guaranteed to never collide with anything in this universe. This isn't something I've done in my code, but
after seeing this thread, I think it's time to start.

-cd


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