From 913bcfcfb2fbee1b0bc748e2e979e8d5c66ec09e Mon Sep 17 00:00:00 2001 From: hyzboy Date: Mon, 1 Jul 2024 23:22:44 +0800 Subject: [PATCH] renamed to SAFE_CLEAR_OBJECT_ARRAY_OBJECT from SAFE_CLEAR_OBJECT_ARRAY, added a newly SAFE_CLEAR_OBJECT_ARRAY --- inc/hgl/Macro.h | 9 ++++++++- inc/hgl/type/Smart.h | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/inc/hgl/Macro.h b/inc/hgl/Macro.h index 9a337bf..4fd5fa2 100644 --- a/inc/hgl/Macro.h +++ b/inc/hgl/Macro.h @@ -26,7 +26,7 @@ namespace hgl } \ } - #define SAFE_CLEAR_OBJECT_ARRAY(name,num) { \ + #define SAFE_CLEAR_OBJECT_ARRAY_OBJECT(name,num) { \ if(name&&num>=0) \ { \ int safe_clear_object_array_number=num; \ @@ -40,6 +40,13 @@ namespace hgl } \ } + #define SAFE_CLEAR_OBJECT_ARRAY(name) { \ + for(auto *obj:name)\ + { \ + SAFE_CLEAR(obj); \ + } \ + } + #define FREE_OBJECT_ARRAY(name,num) { \ if(name&&num>=0) \ { \ diff --git a/inc/hgl/type/Smart.h b/inc/hgl/type/Smart.h index e86b6eb..0a3b88a 100644 --- a/inc/hgl/type/Smart.h +++ b/inc/hgl/type/Smart.h @@ -630,7 +630,7 @@ namespace hgl ~AutoDeleteObjectArray() { - SAFE_CLEAR_OBJECT_ARRAY(items,count); + SAFE_CLEAR_OBJECT_ARRAY_OBJECT(items,count); } TP *operator -> (){return items;}