
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Wednesday 09 April 2008 15:47 pm, Daniel Frey wrote:
What do you (and others) think about branching enable_shared_from_this<T> into two classes:
low_overhead_enable_shared_from_this<T>
and
feature_rich_enable_shared_from_this<T>
What I would like better is something like a simple base class that shared_ptr recognizes, which only has a single virtual member function like virtual void accept_owner(shared_ptr<T> &owner); which shared_ptr would call when it takes ownership of an object derived from the aforementioned base class. Then you could use it to implement your stripped down version of enable_shared_from_this, or whatever else you might think of. Of course, you would still be inflicted with a vtable, but that doesn't add any per-object space overhead, which seems to be what you're most concerned about. - -- Frank -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFH/S+/5vihyNWuA4URAl7OAKCRK7OTsHU2H4a0GKuLeMKyyvcDxgCffB7+ OqJHVtck2ucIbrqotEU7yd0= =+6v3 -----END PGP SIGNATURE-----