Boost logo

Boost Users :

Subject: Re: [Boost-users] Including Xutil.h on Fedora breaks BOOST_FOREACH
From: Pete Bartlett (pete_at_[hidden])
Date: 2009-05-22 17:42:05


Tron Thomas wrote:
>#include <X11/Xutil.h>

A quick search on Google Codesearch shows that Xutil.h includes Xlib.h which
has the following

"
#define Bool int
#define Status int
#define True 1
#define False 0
"

(around line 112 in the version I am looking at).

This breaks Boost.ForEach's (legitimate) attempt to use "Bool" as the name
for a template type. How to fix? Some possibilities

a) Stop using libraries that employ such bad practices, or
b) Wrap the include in your own header that tidies up after X11 with some
#undefs, or
c) include X11 after Boost ?!

I doubt Boost.ForEach would be the only library the X11 include would foul
up.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net