forked from Archive/PX4-Autopilot
ModuleParams: remove parent in destructor
This allows for dynamic deletion of children objects (in most cases this is not used). Uses ~100B memory.
This commit is contained in:
parent
f09b34007e
commit
810d2e9497
|
@ -61,9 +61,14 @@ public:
|
|||
if (parent) {
|
||||
parent->_children.add(this);
|
||||
}
|
||||
|
||||
_parent = parent;
|
||||
}
|
||||
|
||||
virtual ~ModuleParams() = default;
|
||||
virtual ~ModuleParams()
|
||||
{
|
||||
if (_parent) { _parent->_children.remove(this); }
|
||||
}
|
||||
|
||||
// Disallow copy construction and move assignment.
|
||||
ModuleParams(const ModuleParams &) = delete;
|
||||
|
@ -93,4 +98,5 @@ protected:
|
|||
private:
|
||||
/** @list _children The module parameter list of inheriting classes. */
|
||||
List<ModuleParams *> _children;
|
||||
ModuleParams *_parent{nullptr};
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue