David Abrahams wrote:
> 
> "Peter Dimov" <[EMAIL PROTECTED]> writes:
> 
> > From: "David Abrahams" <[EMAIL PROTECTED]>
> >> "Peter Dimov" <[EMAIL PROTECTED]> writes:
> >>
> >> > I don't see why you expect remove_pointer(T) to work when T is not a
> >> > pointer.
> >>
> >> I think that's a reasonable expectation, if by "work" you mean return
> >> the original type without modification.  That's what it does for "int"
> >> arguments, for example.
> >
> > I would argue that remove_pointer should cause a compile-time error when
> > applied to a non-pointer. *p doesn't just "conveniently" return p when
> > applied to a non-pointer.
> >
> > Either way though, it should be consistent, i.e. if it works for int, it
> > should work for everything.
> 
> I think silent non-modification is a more-useful behavior; it saves on
> 
>   if_<is_pointer<T>, remove_pointer<T>, identity<T> >
> 
> which is sometimes what you want.

I feel the same, especially looking at remove_const, remove_volatile and
remove_cv. Of course we could decide to treat those three different from
the rest, but this is IMHO neither needed nor useful.

Regards, Daniel

-- 
Daniel Frey

aixigo AG - financial training, research and technology
Schloß-Rahe-Straße 15, 52072 Aachen, Germany
fon: +49 (0)241 936737-42, fax: +49 (0)241 936737-99
eMail: [EMAIL PROTECTED], web: http://www.aixigo.de
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to