PODs vs memset

Paolo Carlini pcarlini@suse.de
Wed Apr 4 18:10:00 GMT 2007


Hi Gaby,

>valarray was intended to work with "numerical" types (a notion that is
>fuzzily defined in the Standard), which roughly is what we used to
>think of a POD.  However, the notion of the POD has been improving and
>we may get to the state where POD no longer ressembles what it used to
>be.  I don't know the actual state of the resolution but I was under
>the impression that a pointer to member is now considered a POD.  If
>that is true, then we get into the situation where a null pointer
>wrongly captured -- it  is represented as -1, and not 0.  That would
>invalidate the "optimization".  On the other hand, I very much feel
>that if someone instantiates valarray with pointer to member type, he/she
>gets what he/she deserves.  But, I don't get to define the semantics
>so I would suggest to just proceed with __is_scalar until we get a
>better characterization -- for example, I would really love to have
>valarray<complex<double>> be memset'ed  (yes, I know I can use traits,
>but it would be nice if we come up with a very simple characterization
>in C++03 that is simply captured by those reifying functions.
>  
>
Thanks for the interesting explanation: I saw something going on about 
POD-ness but didn't really follow the thread. Therefore, for now I'm 
doing the __is_scalar change,  then we can maybe discuss the issue a 
little more in Oxford...

Thanks again,
Paolo.



More information about the Libstdc++ mailing list