On 20 October 2017 at 10:46, Jonathan Wakely <c...@kayari.org> wrote:

> Would something like this be suitable?
>
> #if __cpp_lib_byte >= 201603
>   using byte_type = std::byte;
> #else
>   using byte_type = unsigned char;
> #endif
>   alignas(T) byte_type rawbytes[sizeof(T)];
>   // ...
>
> Both forms will work, but the std::byte version might be preferred to
> ensure that no arithmetic operations are accidentally performed on the
> values. The desired type-safety would only be enforced on
> implementations that support std::byte, but if the rest of the code is
> the same you can be fairly confident there's no arithmetic even when
> the type is unsigned char.


Seems reasonable to me.
_______________________________________________
Features mailing list
Features@isocpp.open-std.org
http://www.open-std.org/mailman/listinfo/features

Reply via email to