
"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. sh::list<> and sh::stack<> classes can be used for different things also. I will write a pool allocator quickly using sh::list<> with the sh::roofof<> function for demonstration. I will also rename these for sh::intrusive_list<> and sh::intrusive_stack<>. -Phil