From 59fc4ff1e12b46f659dd51b320f13a155c145445 Mon Sep 17 00:00:00 2001 From: sauron Date: Wed, 24 Sep 2025 14:06:19 +0900 Subject: [PATCH] commit 2025-09-24 14:06 edit a bit ZCppMain/ZtCSimList.H --- ZCppMain/ZMainHead.H | 12 ++++------ ZCppMain/ZtCObjList.H | 63 +++++++++++---------------------------------------- ZCppMain/ZtCSimList.H | 1 + 3 files changed, 18 insertions(+), 58 deletions(-) diff --git a/ZCppMain/ZMainHead.H b/ZCppMain/ZMainHead.H index b4c7d71..0267a8c 100644 --- a/ZCppMain/ZMainHead.H +++ b/ZCppMain/ZMainHead.H @@ -5409,11 +5409,9 @@ namespace ZNsMain template - /*###########*/ + < typename TFunctor , typename TTypeHelp1 , typename TTypeHelp2 > void IterElement - ( - TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2 - ) + ( TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2 ) /*#############################################################################*/ { typedef ZNsMain::ZtCCheckRef ZCCheckRef1; @@ -5436,11 +5434,9 @@ namespace ZNsMain __for0(TypeSize, i, ml_Size)*/ }/* template - ############### + < typename TFunctor , typename TTypeHelp1 , typename TTypeHelp2 > void IterElement - ( - TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2 - ) + ( TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2 ) ###############################################################################*/ diff --git a/ZCppMain/ZtCObjList.H b/ZCppMain/ZtCObjList.H index ebf87b0..b34c608 100644 --- a/ZCppMain/ZtCObjList.H +++ b/ZCppMain/ZtCObjList.H @@ -2387,38 +2387,14 @@ namespace ZNsMain template - /*###########*/ + < typename TFunctor , typename TTypeHelp1 , typename TTypeHelp2 > void IterElement - ( - TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2 - ) + ( TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2 ) /*#############################################################################*/ { - /*///////////////////////////////////////////////////////////////////////////// - - ■ TTypeHelp 가 class 일 경우, 크기가 커서 참조로 넘어가야 한다면, - - IterElement(myFunctor_obj, myClass_Obj); - - 의 형태로 호출할 게 아니라, ZtCObjectPtr<> 을 사용하여, - - myClass myClass_Obj; ZtCObjectPtr myCObjPtr(myClass_Obj); - - 나 - - IterElement(myFunctor_obj, ZtCObjectPtr(myClass_Obj)); - - 형태를 사용하면 좋을 것 같다. -- 2014-06-16 23:11:00 - - - 이제는 ZtCRef 과 ZCCheckRef 클래스 템플릿을 사용하면 된다. -- 2021-03-11 11:00 - - /////////////////////////////////////////////////////////////////////////////*/ - typedef ZNsMain::ZtCCheckRef ZCCheckRef1; typedef ZNsMain::ZtCCheckRef ZCCheckRef2; - ZCLink* VP_LoopLink=mp_HeadLink; __for0(TypeSize, i, ml_Size) @@ -2431,19 +2407,14 @@ namespace ZNsMain ); //////////////////////////////////////////// - /* 위 코드로 인해서, AO_Functor 이 함수일 때 뿐이 아니라, operator() - 연산자를 가진 object 포인터일 때도 사용할 수 있게 되었다. */ - VP_LoopLink = VP_LoopLink->mp_NextLink ; }/* __for0(TypeSize, i, ml_Size)*/ }/* template - ############### + < typename TFunctor , typename TTypeHelp1 , typename TTypeHelp2 > void IterElement - ( - TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2 - ) + ( TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2 ) ###############################################################################*/ @@ -2468,11 +2439,9 @@ namespace ZNsMain template - + < typename TFunctor , typename TTypeHelp1 , typename TTypeHelp2 > void IterElemRef - ( - TFunctor AO_Functor, TTypeHelp1& AR_TypeHelp1, TTypeHelp2& AR_TypeHelp2 - ) + ( TFunctor AO_Functor, TTypeHelp1& AR_TypeHelp1, TTypeHelp2& AR_TypeHelp2 ) /*#############################################################################*/ { /* TTypeHelp1 과 2 을 참조로 받고 있음에 주의한다. -- 2021-03-04 04:00:00 */ @@ -2489,11 +2458,9 @@ namespace ZNsMain __for0(TypeSize, i, ml_Size)*/ }/* template - + < typename TFunctor , typename TTypeHelp1 , typename TTypeHelp2 > void IterElemRef - ( - TFunctor AO_Functor, TTypeHelp1& AR_TypeHelp1, TTypeHelp2& AR_TypeHelp2 - ) + ( TFunctor AO_Functor, TTypeHelp1& AR_TypeHelp1, TTypeHelp2& AR_TypeHelp2 ) /*#############################################################################*/ @@ -2518,7 +2485,7 @@ namespace ZNsMain template void IterElemRev(TFunctor AO_Functor, TTypeHelp AO_TypeHelp) { - if(size()<1) return; + if(size()<1) return; ////////////////////////////// typedef ZNsMain::ZtCCheckRef ZCCheckRef; @@ -2541,11 +2508,9 @@ namespace ZNsMain template - + < typename TFunctor , typename TTypeHelp1 , typename TTypeHelp2 > void IterElemRev - ( - TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2 - ) + ( TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2 ) /*#############################################################################*/ { if(size()<1) return; @@ -2570,11 +2535,9 @@ namespace ZNsMain __for0(TypeSize, i, ml_Size)*/ }/* template - + < typename TFunctor , typename TTypeHelp1 , typename TTypeHelp2 > void IterElemRev - ( - TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2 - ) + ( TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2 ) ###############################################################################*/ diff --git a/ZCppMain/ZtCSimList.H b/ZCppMain/ZtCSimList.H index f92dde6..c85e5f0 100644 --- a/ZCppMain/ZtCSimList.H +++ b/ZCppMain/ZtCSimList.H @@ -2255,6 +2255,7 @@ namespace ZNsMain }/* template void IterEleCutIf(TFunctor AO_Functor) */ + template void IterEleLink ( ZCLink* AP_StdLink ,