commit 2025-09-24 14:06 edit a bit ZCppMain/ZtCSimList.H

This commit is contained in:
2025-09-24 14:06:19 +09:00
parent 388e62b7c3
commit 59fc4ff1e1
3 changed files with 18 additions and 58 deletions

View File

@ -5409,11 +5409,9 @@ namespace ZNsMain
template template
<typename TFunctor, typename TTypeHelp1, typename TTypeHelp2> /*###########*/ < typename TFunctor , typename TTypeHelp1 , typename TTypeHelp2 >
void IterElement void IterElement
( ( TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2 )
TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2
)
/*#############################################################################*/ /*#############################################################################*/
{ {
typedef ZNsMain::ZtCCheckRef<TTypeHelp1> ZCCheckRef1; typedef ZNsMain::ZtCCheckRef<TTypeHelp1> ZCCheckRef1;
@ -5436,11 +5434,9 @@ namespace ZNsMain
__for0(TypeSize, i, ml_Size)*/ __for0(TypeSize, i, ml_Size)*/
}/* }/*
template template
<typename TFunctor, typename TTypeHelp1, typename TTypeHelp2> ############### < typename TFunctor , typename TTypeHelp1 , typename TTypeHelp2 >
void IterElement void IterElement
( ( TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2 )
TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2
)
###############################################################################*/ ###############################################################################*/

View File

@ -2387,38 +2387,14 @@ namespace ZNsMain
template template
<typename TFunctor, typename TTypeHelp1, typename TTypeHelp2> /*###########*/ < typename TFunctor , typename TTypeHelp1 , typename TTypeHelp2 >
void IterElement void IterElement
( ( TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2 )
TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2
)
/*#############################################################################*/ /*#############################################################################*/
{ {
/*/////////////////////////////////////////////////////////////////////////////
■ TTypeHelp 가 class 일 경우, 크기가 커서 참조로 넘어가야 한다면,
IterElement<myFunctor, myClass&>(myFunctor_obj, myClass_Obj);
의 형태로 호출할 게 아니라, ZtCObjectPtr<> 을 사용하여,
myClass myClass_Obj; ZtCObjectPtr<myClass> myCObjPtr(myClass_Obj);
IterElement(myFunctor_obj, ZtCObjectPtr<myClass>(myClass_Obj));
형태를 사용하면 좋을 것 같다. -- 2014-06-16 23:11:00
이제는 ZtCRef 과 ZCCheckRef 클래스 템플릿을 사용하면 된다. -- 2021-03-11 11:00
/////////////////////////////////////////////////////////////////////////////*/
typedef ZNsMain::ZtCCheckRef<TTypeHelp1> ZCCheckRef1; typedef ZNsMain::ZtCCheckRef<TTypeHelp1> ZCCheckRef1;
typedef ZNsMain::ZtCCheckRef<TTypeHelp2> ZCCheckRef2; typedef ZNsMain::ZtCCheckRef<TTypeHelp2> ZCCheckRef2;
ZCLink* VP_LoopLink=mp_HeadLink; ZCLink* VP_LoopLink=mp_HeadLink;
__for0(TypeSize, i, ml_Size) __for0(TypeSize, i, ml_Size)
@ -2431,19 +2407,14 @@ namespace ZNsMain
); );
//////////////////////////////////////////// ////////////////////////////////////////////
/* 위 코드로 인해서, AO_Functor 이 함수일 때 뿐이 아니라, operator()
연산자를 가진 object 포인터일 때도 사용할 수 있게 되었다. */
VP_LoopLink = VP_LoopLink->mp_NextLink ; VP_LoopLink = VP_LoopLink->mp_NextLink ;
}/* }/*
__for0(TypeSize, i, ml_Size)*/ __for0(TypeSize, i, ml_Size)*/
}/* }/*
template template
<typename TFunctor, typename TTypeHelp1, typename TTypeHelp2> ############### < typename TFunctor , typename TTypeHelp1 , typename TTypeHelp2 >
void IterElement 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 template
<typename TFunctor, typename TTypeHelp1, typename TTypeHelp2> < typename TFunctor , typename TTypeHelp1 , typename TTypeHelp2 >
void IterElemRef 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 */ /* TTypeHelp1 과 2 을 참조로 받고 있음에 주의한다. -- 2021-03-04 04:00:00 */
@ -2489,11 +2458,9 @@ namespace ZNsMain
__for0(TypeSize, i, ml_Size)*/ __for0(TypeSize, i, ml_Size)*/
}/* }/*
template template
<typename TFunctor, typename TTypeHelp1, typename TTypeHelp2> < typename TFunctor , typename TTypeHelp1 , typename TTypeHelp2 >
void IterElemRef 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<typename TFunctor, typename TTypeHelp> template<typename TFunctor, typename TTypeHelp>
void IterElemRev(TFunctor AO_Functor, TTypeHelp AO_TypeHelp) void IterElemRev(TFunctor AO_Functor, TTypeHelp AO_TypeHelp)
{ {
if(size()<1) return; if(size()<1) return; //////////////////////////////
typedef ZNsMain::ZtCCheckRef<TTypeHelp> ZCCheckRef; typedef ZNsMain::ZtCCheckRef<TTypeHelp> ZCCheckRef;
@ -2541,11 +2508,9 @@ namespace ZNsMain
template template
<typename TFunctor, typename TTypeHelp1, typename TTypeHelp2> < typename TFunctor , typename TTypeHelp1 , typename TTypeHelp2 >
void IterElemRev void IterElemRev
( ( TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2 )
TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2
)
/*#############################################################################*/ /*#############################################################################*/
{ {
if(size()<1) return; if(size()<1) return;
@ -2570,11 +2535,9 @@ namespace ZNsMain
__for0(TypeSize, i, ml_Size)*/ __for0(TypeSize, i, ml_Size)*/
}/* }/*
template template
<typename TFunctor, typename TTypeHelp1, typename TTypeHelp2> < typename TFunctor , typename TTypeHelp1 , typename TTypeHelp2 >
void IterElemRev void IterElemRev
( ( TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2 )
TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2
)
###############################################################################*/ ###############################################################################*/

View File

@ -2255,6 +2255,7 @@ namespace ZNsMain
}/* }/*
template<typename TFunctor> void IterEleCutIf(TFunctor AO_Functor) */ template<typename TFunctor> void IterEleCutIf(TFunctor AO_Functor) */
template<typename TFunctor> void IterEleLink template<typename TFunctor> void IterEleLink
( (
ZCLink* AP_StdLink , ZCLink* AP_StdLink ,