Boost logo

Boost :

From: David B. Held (dheld_at_[hidden])
Date: 2002-11-29 18:18:54


"Aleksey Gurtovoy" <agurtovoy_at_[hidden]> wrote in message
news:4034600A4760D411B8720001031D84FB0109656A_at_postoffice.office.meta...
> [...]
> > > template <class Policy>
> > > struct get_category
> > > : mpl::if_<
> > > mpl::is_placeholder<Policy>
> > > , mpl::identity<Policy>
> > > , get_category_impl<Policy>
> > > >::type
> > > {
> > > BOOST_MPL_AUX_LAMBDA_SUPPORT(1,get_category,(Policy))
> > > };
> [...]

When is it better to derive from something vs. composing it in a typedef?

Also, we're really close on the smart pointer code. I've checked in the
latest version to the sandbox, applying your changes. However, I still get
14 errors that are all in mpl/identity.hpp. I also got the latest CVS
snapshot.
Here's the errors:

identity.hpp(44) : error C2065: 'void_' : undeclared identifier
identity.hpp(44) : error C2990: 'identity' : non-template class has already
    been defined as a template class
identity.hpp(44) : error C2913: explicit specialization;
    'struct boost::boost::mpl::lambda boost::boost::mpl::lambda' is not a
    class template

etc., ad nauseum. All the errors are on these two lines:

BOOST_MPL_AUX_VOID_SPEC(1, identity)
BOOST_MPL_AUX_VOID_SPEC(1, make_identity)

Now, I notice that I'm supposed to define these for the policies under
bcc. And when I didn't guard them with a macro, VC complained about
them mightily. But when I tried to guard them in identity.hpp, I got about
104 errors, and decided that was Not The Right Thing To Do(R). So
can these safely be used for any compiler? The definition will
automatically
change to the right thing?

Dave


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