Boost logo

Boost Users :

From: Richard Jennings (Richard.Jennings_at_[hidden])
Date: 2005-08-03 11:28:22

I'm getting a compile error with my code to do with the
boost::is_abstract class for compilers that don't support
type_traits/is_abstract, i.e. those that have BOOST_NO_IS_ABSTRACT
defined, BCB 5.6.4 in my case.

Serialization/is_abstract.hpp defines an is_abstract class if
BOOST_NO_IS_ABSTRACT is defined rather than including
type_traits/is_abstract.hpp. With 1.33 RC1 type_traits/is_abstract.hpp
now defines an is_abstract class if BOOST_NO_IS_ABSTRACT is defined,
which it didn't use to do. Thus the class boost::is_abstract is
multiply defined.

Minimal code to reproduce the error is:

#include <boost/type_traits.hpp>
#include <boost/serialization/is_abstract.hpp>

int main(int argc, char* argv[])
  return 0;

Compile that with BCB5.6.4 and you get:
[C++ Error] is_abstract.hpp(32): E2238 Multiple declaration for
[C++ Error] is_abstract.hpp(130): E2344 Earlier declaration of

The first is serialization/is_abstract.hpp the second is

Perhaps serialization/is_abstract.hpp could check for
type_traits/is_abstract.hpp having already been included or perhaps the
serialization version is not now needed?


-----Original Message-----
From: boost-users-bounces_at_[hidden]
[mailto:boost-users-bounces_at_[hidden]] On Behalf Of Doug Gregor
Sent: 01 August 2005 18:04
To: boost-users_at_[hidden]
Subject: [Boost-users] [1.33.0] Release candidate #1 is available

Boost 1.33.0 release candidate #1 is now available here:

There are two sets of files important for this release:

   - boost_1_33_0_rc1.*: The actual release candidate
   - boost_1_33_0_(docbook|fo|man).*: The documentation in other formats

Please download and unpack the archives, browse the documentation, try
the release with your favorite compiler, etc.

        Doug Gregor
        1.33.0 Release Manager

Boost-users mailing list

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at