commit 2025-09-24 14:06 edit a bit ZCppMain/ZtCSimList.H
This commit is contained in:
@ -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
|
|
||||||
)
|
|
||||||
###############################################################################*/
|
###############################################################################*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -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
|
|
||||||
)
|
|
||||||
###############################################################################*/
|
###############################################################################*/
|
||||||
|
|
||||||
|
|
||||||
@ -2470,9 +2441,7 @@ 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 */
|
||||||
@ -2491,9 +2460,7 @@ 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
|
|
||||||
)
|
|
||||||
/*#############################################################################*/
|
/*#############################################################################*/
|
||||||
|
|
||||||
|
|
||||||
@ -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;
|
||||||
|
|
||||||
@ -2543,9 +2510,7 @@ 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;
|
||||||
@ -2572,9 +2537,7 @@ 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
|
|
||||||
)
|
|
||||||
###############################################################################*/
|
###############################################################################*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -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 ,
|
||||||
|
Reference in New Issue
Block a user