Boost logo

Boost Users :

From: Robert Ramey (ramey_at_[hidden])
Date: 2005-08-08 11:09:02


Richard Jennings wrote:
> I'm finding an apparent dependency between some non-serialization
> headers and the use of BOOST_CLASS_EXPORT.
>
> If boost/optional.hpp or boost/format.hpp or boost/bind.hpp are
> included before BOOST_CLASS_EXPORT is used then I get the compilation
> error:

I've tracked this down to a borland compiler issue. I've made the fix on my
local system but don't know where to check it (RC or Dev) yet. I don't know
if this fix will make it into the 1.33 release but here it is:

at export.hpp line 204 replace:

typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<
is_abstract<T>,
mpl::identity<abstract>,
mpl::identity<not_abstract>
>::type type;
return std::pair<const void *, const void *>(
type::invoke(),
& guid_initializer<T>::instance
);

with

typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<
is_abstract<T>,
mpl::identity<abstract>,
mpl::identity<not_abstract>
>::type typex;
return std::pair<const void *, const void *>(
typex::invoke(),
& guid_initializer<T>::instance
);

Note the new "x" in "typex"

Robert Ramey


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