Subject: Re: [boost] [config] gcc and <unordered_set> vs <ext/hash_set>
From: John Maddock (john_at_[hidden])
Date: 2008-12-22 04:51:34


Robert Ramey wrote:
>>> So... how should we handled this? Not define BOOST_HAS_HASH when
>>> <unordered_set> *is* available?
>>
>> That would make it impossible to read archives which contain hashed
>> pointers under the current system. And of course one couldn't write
>> portable programs which use the old hashed containers any more and
>> not all compilers /libraries support ext/hash so the final result
>> would be that one couldn't make a portable program with hashed
>> containers.

???

Exactly, the old hashed containers aren't portable between compilers, will
be removed in some future gcc release, and can't reliably be used in C++0x
mode.

>>> As far as I can tell the only library effected by this change would
>>> be Boost.Serialization which would lose has_set support in gcc's
>>> c++0x mode. How do folks feel about that?
>>
>> Seems to me the best would be not to include both headers in the same
>> source module. That is, ignore the problem and just take the
>> error message as a long winded version of "don't do this!!!!". Of
>> course a short winded version would be better and maybe
>> config can be ehanced to do that.

OK, I've rigged the config system to allow both to be enabled at the same
time for now.

John.