diff options
Diffstat (limited to 'source/core/slang-object-scope-manager.cpp')
| -rw-r--r-- | source/core/slang-object-scope-manager.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/source/core/slang-object-scope-manager.cpp b/source/core/slang-object-scope-manager.cpp new file mode 100644 index 000000000..313bd4cd5 --- /dev/null +++ b/source/core/slang-object-scope-manager.cpp @@ -0,0 +1,23 @@ +#include "slang-object-scope-manager.h" + +namespace Slang { + +void ObjectScopeManager::_releaseAll() +{ + RefObject*const* objs = m_objs.begin(); + const int numObjs = int(m_objs.Count()); + for (int i = 0; i < numObjs; ++i) + { + objs[i]->decreaseReference(); + } +} + +void ObjectScopeManager::clear() +{ + _releaseAll(); + // Free the memory as well as resizing + m_objs = List<RefObject*>(); +} + +} // namespace Slang + |
