incubator-stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Lemings" <Eric.Lemi...@roguewave.com>
Subject RE: type_traits progress
Date Mon, 02 Jun 2008 15:38:43 GMT
 

> -----Original Message-----
> From: Travis Vitek [mailto:Travis.Vitek@roguewave.com] 
> Sent: Friday, May 30, 2008 6:28 PM
> To: dev@stdcxx.apache.org
> Subject: RE: type_traits progress
> 
>  
> 
> Martin Sebor wrote:
> >Travis Vitek wrote:
> >[...]
> >>> Right. That could be another wrinkle. Our traits won't
> >>> work with generic code that takes integral_constant<T, V>
> >>> by reference.
> >> 
> >> I don't really see the motivation, but it is obvious that 
> >> the committee thought it was important for the standard
> >> traits to do so, so we should probably follow suit in our
> >> internal implementation.
> 
> Can you think of a reason why this 'feature' would be important?
> 
> >> 
> >> If we did decide to do this then we would probably want 
> our own write
> >> __rw_integral_constant and use that internally to avoid namespace
> >> pollution? Then I'd assume we'd want something like the following
> >> example for is_const...
> >
> >Yes, I think this is close to what we want. The only thing that bugs
> >me about it is...
> >
> >> 
> >> template <class T, T v>
> >> struct __rw_integral_constant
> >> {
> >>   static const T value = v;
> >>   typedef T value_type;
> >>   typedef integral_constant<T,v> type;
> >
> >...this backward dependency on integral_constant, but I don't see how
> >to break it without template typedefs. I don't think there's 
> a compiler
> >out there that supports them yet.
> 
> Actually, this was originally a typo on my part, but I do see 
> where this
> is going. I haven't read about template typedefs, but it seems that
> there would be a serious problem caused by the cyclic dependency.

Yeah it looks like a typo to me too.  Should it be:

	typedef __rw_integral_constant<T,v> type;

In all cases I've seen, `type' refers to type of self for identity
properties.  This typedef would not hold up the identity property.

Brad.

Mime
View raw message