
AMDG Phil Bouchard wrote:
"David Abrahams" <dave@boost-consulting.com> wrote in message news:87skyvltul.fsf@gutsy.luannocracy.com...
[...]
If I understand correctly, none of this code is technically portable; it is only "portable in practice" because of the way C++ is commonly implemented. Is that correct?
It's not necessarily an argument against these proposals, but all Boost library submissions should be very clear about where they rely on unspecified or undefined behavior.
No it is perfectly portable, this function called "roofof" simply cannot be applied to classes having virtual inheritance. It can be kept as an internal routine quite simply and used with PODs and classes having simple inheritances.
roofof /does/ use undefined behavior. You can't just go dereferencing the null pointer... ((T *)(0)->* q) In Christ, Steven Watanabe