From 64341828b84cd52fe227007cd3782e55f901f4c1 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Mon, 16 Dec 2002 21:39:26 +0000 Subject: [PATCH] Added a few more comments on the DeleteHandler. Changed the friend struct DeleteHandler to friend class DeleteHandler. --- include/osg/Referenced | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/include/osg/Referenced b/include/osg/Referenced index 42274ffb0..ac23f1103 100644 --- a/include/osg/Referenced +++ b/include/osg/Referenced @@ -36,10 +36,13 @@ class SG_EXPORT Referenced inline Referenced& operator = (Referenced&) { return *this; } - friend struct DeleteHandler; + friend class DeleteHandler; + /** Set a DeleteHandler to which deletion of all referenced counted objects + * will be delegated to.*/ static void setDeleteHandler(DeleteHandler* handler); + /** Get a DeleteHandler.*/ static DeleteHandler* getDeleteHandler(); @@ -89,7 +92,11 @@ class SG_EXPORT Referenced /** Class for override the default delete behavior so that users can implment their own object * deletion schemes. This might be done to help implement protection of multiple threads from deleting - * objects unintentionally.*/ + * objects unintentionally. + * Note, the DeleteHandler cannot itself be reference counted, otherwise it + * would be responsible for deleting itself! + * An static auto_ptr<> is used internally in Referenced.cpp to manage the + * DeleteHandler's memory.*/ class DeleteHandler { public: