Boost logo

Boost :

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

"Jeff Flinn" <TriumphSprint2000_at_[hidden]> wrote in message
> "Robert Ramey" <ramey_at_[hidden]> wrote in message
> news:cnvrqv$ecf$
> >> "Jeff Flinn" <TriumphSprint2000_at_[hidden]> wrote in message
> >> news:cnvqou$aur$
> >> 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
> > save/load/namespaces.
> I was expecting more on the issues associated with ADL here but didn't
> any such discussion in this portion of the documentation. I've hunted
> 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
> > next version. Unfortunately, like everything else, its not as easy as
> > 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
> 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
> 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, gregod at, cpdaniel at, john at