edit test.cpp
This commit is contained in:
@ -1564,6 +1564,28 @@ namespace ZNsMain
|
|||||||
void IterElemRef(TFunctor AO_Functor, TTypeHelp& AR_TypeHelp) */
|
void IterElemRef(TFunctor AO_Functor, TTypeHelp& AR_TypeHelp) */
|
||||||
|
|
||||||
|
|
||||||
|
template<typename TFunctor, typename TTypeHelp1, typename TTypeHelp2>
|
||||||
|
void IterElemRef(TFunctor AO_Functor,
|
||||||
|
TTypeHelp1& AR_TypeHelp1, TTypeHelp2& AR_TypeHelp2)
|
||||||
|
{
|
||||||
|
/* TTypeHelp1 과 2 을 참조로 받고 있음에 주의한다. -- 2021-03-04 04:00:00 */
|
||||||
|
|
||||||
|
ZCLink* VP_LoopLink=mp_HeadLink;
|
||||||
|
|
||||||
|
__for0(int, i, ml_Size)
|
||||||
|
{
|
||||||
|
ZtCTypeData<TFunctor>::GetObjRef(AO_Functor)
|
||||||
|
( VP_LoopLink->mo_Type, AR_TypeHelp1, AR_TypeHelp2 );
|
||||||
|
|
||||||
|
VP_LoopLink = VP_LoopLink->mp_NextLink ;
|
||||||
|
}/*
|
||||||
|
__for0(int, i, ml_Size)*/
|
||||||
|
}/*
|
||||||
|
template<typename TFunctor, typename TTypeHelp1, typename TTypeHelp2>
|
||||||
|
void IterElemRef(TFunctor AO_Functor,
|
||||||
|
TTypeHelp1& AR_TypeHelp1, TTypeHelp2& AR_TypeHelp2) */
|
||||||
|
|
||||||
|
|
||||||
/*///////////////////////////////////////////////////////////////////////////
|
/*///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
■ IterElement() 예제.
|
■ IterElement() 예제.
|
||||||
|
@ -46,36 +46,35 @@ int main(int ArgiCnt, char** AppArgu)
|
|||||||
VO_IntList.AddTail(9);
|
VO_IntList.AddTail(9);
|
||||||
|
|
||||||
|
|
||||||
_FFS_(ZCShowData)
|
typedef ZtStTuple<int> ZCTuple;
|
||||||
|
|
||||||
|
ZCTuple VO_CTuple; VO_CTuple._1 = 1;
|
||||||
|
|
||||||
|
|
||||||
|
_FFS_(ZCShowData1)
|
||||||
(ZTypInt AiInt)
|
(ZTypInt AiInt)
|
||||||
{
|
{
|
||||||
cout<<"# Elem : "<< AiInt << endl;
|
cout<<"# Elem : "<< AiInt << endl;
|
||||||
}/*
|
}/*
|
||||||
(ZTypInt AiInt)*/
|
(ZTypInt AiInt)*/
|
||||||
_FFC_(ZCShowData)
|
_FFC_(ZCShowData1)
|
||||||
|
|
||||||
|
|
||||||
class ZCFunctor1
|
_FFS_(ZCShowData2)
|
||||||
{
|
(ZTypInt AiInt, ZCTuple& VR_CTuple)
|
||||||
private:
|
{
|
||||||
ZTypInt mi_Index;
|
cout<<"# Elem : "<< AiInt << VR_CTuple._1++ << endl;
|
||||||
public :
|
}/*
|
||||||
|
(ZTypInt AiInt, ZCTuple& VR_CTuple)*/
|
||||||
ZCFunctor1(){mi_Index=0;}
|
_FFC_(ZCShowData2)
|
||||||
|
|
||||||
void operator()(int ArgiValue)
|
|
||||||
{ cout<<"# index="<<++mi_Index<<", Value="<<ArgiValue<<endl; }
|
|
||||||
public :
|
|
||||||
};/*
|
|
||||||
class ZCFunctor1*/
|
|
||||||
|
|
||||||
|
|
||||||
//ZNsHide::ZCFunctor1 VO_CFunctor1;
|
ZNsHide::ZCFunctor1 VO_CFunctor1;
|
||||||
ZCFunctor1 VO_CFunctor1;
|
|
||||||
/* ZCFunctor1 선언이 main() 바깥에 있어야 하는 문제를 해결할 수 없을까. */
|
/* ZCFunctor1 선언이 main() 바깥에 있어야 하는 문제를 해결할 수 없을까. */
|
||||||
|
|
||||||
VO_IntList.IterElement(ZCShowData::Exec);
|
VO_IntList.IterElement(ZCShowData1::Exec);
|
||||||
VO_IntList.IterElement(&VO_CFunctor1 );
|
VO_IntList.IterElemRef(ZCShowData2::Exec);
|
||||||
|
VO_IntList.IterElement(&VO_CFunctor1 );
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}/*
|
}/*
|
||||||
|
Reference in New Issue
Block a user