Boost logo

Boost :

From: Robert Ramey (ramey_at_[hidden])
Date: 2004-11-24 12:35:14


"Jeff Flinn" <TriumphSprint2000_at_[hidden]> wrote in message
news:co2euv$phu$1_at_sea.gmane.org...
>
> "Robert Ramey" <ramey_at_[hidden]> wrote in message
> news:cnvrqv$ecf$1_at_sea.gmane.org...
> >> "Jeff Flinn" <TriumphSprint2000_at_[hidden]> wrote in message
> >> news:cnvqou$aur$1_at_sea.gmane.org...
> >> Robert,
> >>
> >> The release notes page makes reference to:
> >>
> >> Differences from Draft #20
> >> - Support for Argument Dependent Looup for serialization override
> >> invocations.
> >> - Enhanced documentation to help explain usage of the above.
> >> Where might this be found? A link here would be useful.
> >
> > Its in the section "Reference/Class Serialization/Splitting serialize
into
> > save/load/namespaces.
>
> I was expecting more on the issues associated with ADL here but didn't
find
> any such discussion in this portion of the documentation. I've hunted
about
> a bit and haven't found mention elsewhere, but that doesn't confirm that
> it's not there. :)
>
> > This aspect is something I'm unhappy about and will try to address in
the
> > next version. Unfortunately, like everything else, its not as easy as
it
> > appears.
>
> I'm not sure if your refering to the documentation or to the actual
> facilities.

I'm referring to the the fact that the issue has to be address explicitly at
all. This is a side effect of implementation of the export functionality.
I'm hoping that re-implementing th export functionality (keeping the
interface, macros, etc) will make ADL and two phase lookup function as one
would expect without having to address it. At that point I would just remove
this information from the documentation.

>
> I did find that #define'ing BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP in each
> translation unit where serialization functions/methods are instantiated
> solve my std::set<std::string> problems as described in my other recent
> postings. Also this resolves issues with VC7.1 compiler fatal errors due
to
> complexity.
>

Other posts on this list have raised questions about VC 7.1 issue regarding
ADL. note that VC 7.1 doesn't support two-phase lookup so confuses the
issue significantly - at least for me. Again, I'm hoping I can make this
all go away with a different implementation of export. - though I don't know
for sure yet.

> So is using BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP with VC7.1 a general
> requirement? Does this have effect on other boost libraries?
>
> Just to let you know, with the above #def I've successfully converted my
> application to use boost 1.32.0 from 1.31.0 + serialization20. The other
> change was ensuring that all my serialization methods used const unsigned
> int version arguments. I think I had some without the const and without
the
> unsigned from earlier versions of the library.
>
> Great job on the library and many thanks for all of your efforts.

I would hope that changes from 1.31 to 1.32 would be very minimal if any.

Robert Ramey


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk