Boost logo

Boost Users :

From: Robert Ramey (ramey_at_[hidden])
Date: 2005-08-03 18:12:38


When I look at the new code in type_traits/is_abstract for compilers which
can't implement correct is_abstract, it seems it marks any polymophic class
as abstract. This would conflict with the serialization system which really
needs to know if a class is really abstract - not just polymorphic. I would
be curious as to why type_traits/is_abstract makes this the default. The
serialization system makes "false" the default.

Robert Ramey

Richard Jennings wrote:
> 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
> 'is_abstract<T>'
> [C++ Error] is_abstract.hpp(130): E2344 Earlier declaration of
> 'is_abstract<T>'
>
> The first is serialization/is_abstract.hpp the second is
> type_traits/is_abstract.hpp.
>
> 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?
>
> Richard
>
> -----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:
>
> http://www.osl.iu.edu/~dgregor/boost-1.33.0/
>
> 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.
>
> Thanks!
> Doug Gregor
> 1.33.0 Release Manager
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users


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