edit test.cpp

This commit is contained in:
2021-03-04 16:10:09 +09:00
parent 5f52208a3f
commit 3b17e42092
2 changed files with 40 additions and 19 deletions

View File

@ -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() 예제.

View File

@ -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;
}/* }/*