From: Robert Ramey (ramey_at_[hidden])
Date: 2006-05-03 00:14:55
I've given a quick look at your post and attachtment.
I vividly recall the making several attempts to get BOOST...EXPORT
to compile - then to instantiate code. In fact, even those efforts
were not entirely successful - CW still can't handle it. Then there
was a final round getting it past two phase lookup. So as much
as I would like to see this last header dependency eliminated, I think
it would take a lot more time than it would first appear. And
right now I don't have the time required even to address higher
David Abrahams wrote:
>> "Robert Ramey" <ramey_at_[hidden]> writes:
>>> This is explained in the docmentation under
>>> Reference/Special Considerations/Exporting Class Serialization
>>> Robert Ramey
>> I have analyzed your issue and I believe there is a better way; one
>> that avoids the header ordering requirement. I have put together a
>> small demonstration, which is enclosed. This shows that we can
>> instantiate a class template (instantiator) for the exported class
>> each archive that's been seen.
>> Then the only challenge is causing that class template instantiation
>> to actually instantiate executable code. Fortunately, I've recently
>> addressed that problem in changes to the serialization library. The
>> basics are in CVS at:
>> (Ignore the part that says BOOST_OLD_CONCEPT_SUPPORT), so we have the
>> technology. And if you use the function pointer technique of
>> BOOST_CONCEPT_ASSERT(( ... )) in boost/boost/concept/assert.hpp
>> be able to use BOOST_CLASS_EXPORT on class template instances with
>> multiple arguments.
>> BOOST_CLASS_EXPORT(foo<bar,baz>) // an error, today.
>> I hope all this is helpful.
>> Dave Abrahams
>> Boost Consulting
>> Unsubscribe & other changes:
Boost list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk