|
Boost : |
From: Robert Ramey (ramey_at_[hidden])
Date: 2004-09-25 11:16:22
Vladimir wrote:
> ......./boost/boost/serialization/scoped_ptr.hpp:36: error: `make_nvp'
> undeclared (first use this function)
>The attached patch fixes the problem.
>BTW, Robert, this problem was introduce when you moved the content of the
>header from boost::serialization to just boost::. What was the rationale?
>The log only says:
> fixes for cw/comeau implement ADL
This was changed in order to function with compilers that implement
two-phase lookup. This is described (somewhat) in them manual under the
section:Reference/Class Serialization/Free Functions/Namespaces for Free
Function Overrides
Before this change, there is a problem with compilers which implement
two-phase lookup. Overrides for templates have to be defined before their
usage in another template. This conflicted with the implementation of
BOOST_CLASS_EXPORT. To support these compilers, I had to either put
non-intrusive serialization functions in the same namespace as the type
being serialized or re-organize export. The latter is non-trivial and
couldn't be guaranteed to be ready in time for release (at least at the time
the issue came up).
Perhaps, export may someday get re-organized so that BOOST_CLASS_EXPORT can
appear before the archive classes which would resolve the problem in a
simpler way. But for now - that's the way it is.
Robert Ramey
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk