|
Boost : |
From: Itay Maman (itay_maman_at_[hidden])
Date: 2002-07-21 12:11:34
"David Abrahams" <david.abrahams_at_[hidden]> wrote in message
news:141701c230cc$76960500$6501a8c0_at_boostconsulting.com...
>
> From: "Itay Maman" <itay_maman_at_[hidden]>
>
> > > I realize that poses some problems for unification, since it's not
> > possible
> > > to non-intrusively customize constructors for a single class template.
> I'm
> > > willing to discuss changes, if neccessary.
> > >
> > > -Dave
> > >
> >
> > (i) Is it in the CVS?
>
> Yes: boost/python/extract.hpp
>
> > (ii) There's this MSVC namespace-related bug, which makes it impossible
> to
> > use extract<T>(x). The workaround I have used so far, is to pass T as a
> > dummy parameter, i.e: extract(x, boost::type<T>());
>
> The class formulation doesn't suffer from that, but there's also a
> workaround for the function formulation...
>
> > I wonder if there are other workarounds which will not affect the
> interface
> > of the function?
>
>
> template <class T, class U>
> whatever extract(variant<U> const&, boost::type<T>* = 0);
>
This Practically creates two different interfaces: Code written for GCC (for
example) will not work under MSVC since all the
"extract<T>(x);" calls will not work. (I'd be glad to stand corrected if
this is not the case).
-Itay.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk