> -----Original Message-----
> From: Travis Vitek [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, June 18, 2008 5:29 PM
> To: dev@stdcxx.apache.org
> Subject: RE: :decay related question
> 
>  
> 
> >Eric Lemings wrote:
> > 
> >Page 490, section 20.3.1.2, paragraph 1 in the latest draft 
> says this:
> > 
> >"Let Ui be decay<Ti>::type for each Ti in Types. Then each 
> Vi in VTypes
> >is X& if Ui equals reference_wrapper<X>,
> >otherwise Vi is Ui."
> > 
> >What do you suppose the relationship is between type `X' and 
> types `Ti'
> >and `Ui'?  I see how the latter two types are deduced from the 
> >type list
> >`Types' but not so sure about how type `X' is deduced from `Types'.
> 
> I'm looking at this and I have no idea where VTypes and X are coming
> from. Is that an issue, or am I missing something?

Well I see where Vtypes is coming from: it's the type list composed of
Vi where each Vi is... well that's the part I'm not sure about because
of X.

> 
> That said, I think X is supposed to be Ti. If that were the case then
> the definition would make some sense [at least to me].
> 
>   Let Ui be decay<Ti>::type for each Ti in Types. Then each
>   Vi in VTypes is Ti& if Ui equals reference_wrapper<Ti>,
>   otherwise Vi is Ui.
> 
> If that is right, then it essentially says that the 'make_tuple'
> function transforms reference_wrapper<T> back to T& and for 
> other types
> does the normal decay transformation [function to funciton pointer,
> array to array pointer, and cv-stripping of all other types].

That's what I thought.  That's also what other implementations are
showing.

Also, doesn't an array decay to a pointer to the element type?

Brad.

Reply via email to