diff options
author | Benjamin Paassen <bpaassen@techfak.uni-bielefeld.de> | 2015-02-11 17:25:35 +0100 |
---|---|---|
committer | Benjamin Paassen <bpaassen@techfak.uni-bielefeld.de> | 2015-02-11 17:25:35 +0100 |
commit | 20c7aa703bf0be2744f1578d4e6c2044c15a51c0 (patch) | |
tree | 23b9753ae7c35f5be86a032a7c2e0bbe15a15f42 /src/core/managed/Manager.hpp | |
parent | 928d989aef13e72064f31e3d6cad64f46c56bfdc (diff) |
Added "unmanage" function which removes managed objects from the Manager in the case their destructor is called (e.g. because an exception is called in the constructor).
Diffstat (limited to 'src/core/managed/Manager.hpp')
-rw-r--r-- | src/core/managed/Manager.hpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/core/managed/Manager.hpp b/src/core/managed/Manager.hpp index 6275df1..47d1fc7 100644 --- a/src/core/managed/Manager.hpp +++ b/src/core/managed/Manager.hpp @@ -273,6 +273,14 @@ public: void manage(Managed *o); /** + * Removes a previously managed object from the manager -- this function is + * called from the destructor of the Managed class. + * + * @param o is the object that should be unregistered from the manager. + */ + void unmanage(Managed *o); + + /** * Stores a reference to the given target object from the given source * object. If the source pointer is set to nullptr, this means that the * target object is rooted (semantic: it is reachable from the current |