"Aleksey Gurtovoy" <[EMAIL PROTECTED]> wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... > [...] > > > 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 _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost