From: Ed Brey (brey_at_[hidden])
Date: 2000-07-17 14:47:12
From: "Kevlin Henney" <kevlin_at_[hidden]>
> >Of course the simple IF form gives more readable code.
> But is also a macro-style name :-(
I'd consider a name like IF to only historically be considered a macro-style
name. From a modern perspective, I'd say defining a macro called IF would
be called asking for trouble. The set of short, upper-case names is quite
an expensive allocation of name real estate to give over exclusively to
A simple convention could be used to prevent conflicts and short all capital
names open to the each namespace's devices: All macro names should have at
least one underscore.
Since modern macro names start with a pseudo-namespace followed by an
underscore, this imposes no new practical restriction. As for using boost
libraries when maintaining legacy code with conflictable macro names, the
solution is still somewhat simple: The boost headers should be included
before any macro definitions, so that macro conflicts with names that are
implementation details have no effect. If there is a macro conflict with a
name that is part of the interface, the macro must be renamed.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk