Boost logo

Boost :

From: Gennaro Prota (gennaro_prota_at_[hidden])
Date: 2004-03-19 09:46:36


On Thu, 18 Mar 2004 11:26:37 -0000, "John Maddock"
<john_at_[hidden]> wrote:

>Sounds like it's close enough, it might fail for people with VC6 + Intel and
>an updated Dinkum library,

Why?

> but that'll just have to be too bad, changes in mainline cvs now.

Thanks. Now, pardon me if I have other questions (all concerning the
part that follows the #if/#endif above):

- shouldn't the test for BOOST_STD_EXTENSION_NAMESPACE be based on the
*library* version, rather than _MSC_VER?

- shouldn't BOOST_NO_STD_ITERATOR_TRAITS test for "real" VC6?

<debatable>
 At the cost of duplicating the definition, maybe it would
 be clearer to do:

 #if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306)
  // full Dinkum

 # if REAL_VC6
    ...
 # define BOOST_NO_STD_ITERATOR_TRAITS // <---
 # endif

 #else
  // old Dinkum
  ...
 # define BOOST_NO_STD_ITERATOR_TRAITS // <---
 #endif
</debatable>

- The test for BOOST_NO_STD_LOCALE is really restrictive. Fortunately
it only refers to the Dinkum lib shipping with VC7. However if many of
our users use Intel C++ with that library then it might be worth to
soften it, because it really prevents a lot of code to work. (Well,
this is not really a question :))

PS: I'm not one who claims that others do work that he could do. It's
just that these issues are a bit delicate and I wanted to see with you
if there's any problem I'm missing. After that, I could commit the
changes for you, if you like. This also holds for the compiler
identification macros, after we agree on the names, of course. I
propose:

BOOST_COMEAU_CPP or BOOST_COMEAU_COMPILER
BOOST_GNU_CPP or BOOST_GNU_COMPILER
BOOST_INTEL_CPP or BOOST_INTEL_COMPILER

BOOST_MSVC (well, this is a bit inconsistent :( Ideas?)

--
Genny.

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