Yes I'd bet big this technique is an often reinvented wheel.

Why do you prefer two static casts involving void * over a reinterpret cast? Also, your C style cast is really a reinterpret cast. I think the reason for having reinterpret cast is that it's a (greppable) warning that something is dangerous.  And this technique is fairly dangerous, mistakes can elude static checking.
Sent from Yahoo Mail on Android

On Sun, Aug 21, 2022 at 4:38 PM, Phil Bouchard via Std-Proposals
<std-proposals@lists.isocpp.org> wrote:
--
Std-Proposals mailing list
Std-Proposals@lists.isocpp.org
https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals