I would note, by the by, that your example implementation invokes UB (and in fact precisely the UB I mention in my proposal draft that happens with the "obvious" implementation).

On Sun, Aug 21, 2022 at 4:36 PM Michael Scire <sciresm@gmail.com> wrote:
I e-mailed std::proposals about this last year (std::parent_of_member/std::containing_object_of_member), and got as far as writing a proposal paper, though I got too busy to submit it as a P-numbered proposal/etc.

See here: https://github.com/SciresM/containing_object_of_member/blob/master/containing_object_of_member.pdf

I am still interested in submitting the above, and it's the same fundamental operation you're requesting here.

On Sun, Aug 21, 2022 at 4:23 PM Phil Bouchard via Std-Proposals <std-proposals@lists.isocpp.org> wrote:

On 8/21/22 19:10, Walt Karas wrote:
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.

Yeah I just got the habit of not using any reinterpret_casts from the Boost community standards, so it's just another way of writing them down.

And I wasn't sure how alignments and little to big endian machines would convert them.

On Sun, Aug 21, 2022 at 4:38 PM, Phil Bouchard via Std-Proposals
Phil Bouchard facebook icon
T: (819) 328-4743
E: phil@fornux.com | www.fornux.com
1188 rue Saint-Louis | Gatineau (Qc), J8T 2L8 Canada
Banner Le message ci-dessus, ainsi que les documents l'accompagnant, sont destinés uniquement aux personnes identifiées et peuvent contenir des informations privilégiées, confidentielles ou ne pouvant être divulguées. Si vous avez reçu ce message par erreur, veuillez le détruire.
This communication (and/or the attachments) is intended for named recipients only and may contain privileged or confidential information which is not to be disclosed. If you received this communication by mistake please destroy all copies.
Std-Proposals mailing list