Boost logo

Boost :

From: Aleksey Gurtovoy (agurtovoy_at_[hidden])
Date: 2002-10-04 20:21:36


David B. Held wrote:
> > [...]
> > template <
> > typename T
> > , typename OwnershipPolicy
> > , typename ConversionPolicy
> > , typename CheckingPolicy
> > , typename StoragePolicy
> > , typename sp_ = typename apply<StoragePolicy,T>::type
> > >
> > struct smart_ptr
> > : sp_
> > , apply<OwnershipPolicy, typename sp_::pointer_type>::type
> > , apply<CheckingPolicy, typename sp_::pointer_type>::type
>
> I assume these are mpl::apply<>?

Yep.

[...]

> However, I notice that in one place, you used apply<>, and another,
apply1<>.
> Is apply<> a generic wrapper for any arity, and apply1<> a specialized
version
> for just one argument?

Yep, exactly that.

> > Well, I hope the above clarifies things a little bit.
>
> Yes, it is excellent. I think I understand mpl::lambda enough to
integrate
> it with the smart pointer. Thanks a lot for the tutorial.

You are welcome!

Aleksey


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