Boost logo

Boost :

From: Dave Abrahams (abrahams_at_[hidden])
Date: 2000-01-24 06:51:06


> Dave Abrahams writes:
> > Oh, sorry: it wasn't clear to me that the other parts would be supplied by
> > the library. In that case, I am more than happy with the example (except
for
> > the using-directives!)
> >
> > Now, in light of my abs/swap conversation, it concerns me that the graph
> > library is relying on Koenig lookup to find the process and discover
> > functions for a visitor.
>
> The Koenig lookup problem is not as bad as the template
> member problem in VC++! On broken compilers you can probably get
> away with just putting process() in the global namespace. Functions
> like that really don't pollute the namespace.

Only because they take so darn many parameters! A less polluting alternative
would have all the free functions as overloads in the ggcl namespace, as
Valentin suggested.

> The old ggcl the process() as a member of visitor, but had to use
> template members, and broke of VC++.

template member functions are supposedly supported ;) I wish I had some way
to characterize which cases will break. I know that it doesn't handle
overloads with template/non-template constructors well.

It seems to me that using member functions would be a lot more convenient in
this case.

> > It concerns me even more that the idiom for making a visitor involves
> > remembering to call a base class' process function (and using a
> > static_cast)! Can't we do something about that?
> >
>
> I'll think about it when I go to bed, maybe I'll have an idea
> by morning :)

Thanks!


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