edit test.cpp
This commit is contained in:
@ -1564,6 +1564,28 @@ namespace ZNsMain
|
||||
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() 예제.
|
||||
|
@ -46,35 +46,34 @@ int main(int ArgiCnt, char** AppArgu)
|
||||
VO_IntList.AddTail(9);
|
||||
|
||||
|
||||
_FFS_(ZCShowData)
|
||||
typedef ZtStTuple<int> ZCTuple;
|
||||
|
||||
ZCTuple VO_CTuple; VO_CTuple._1 = 1;
|
||||
|
||||
|
||||
_FFS_(ZCShowData1)
|
||||
(ZTypInt AiInt)
|
||||
{
|
||||
cout<<"# Elem : "<< AiInt << endl;
|
||||
}/*
|
||||
(ZTypInt AiInt)*/
|
||||
_FFC_(ZCShowData)
|
||||
_FFC_(ZCShowData1)
|
||||
|
||||
|
||||
class ZCFunctor1
|
||||
_FFS_(ZCShowData2)
|
||||
(ZTypInt AiInt, ZCTuple& VR_CTuple)
|
||||
{
|
||||
private:
|
||||
ZTypInt mi_Index;
|
||||
public :
|
||||
|
||||
ZCFunctor1(){mi_Index=0;}
|
||||
|
||||
void operator()(int ArgiValue)
|
||||
{ cout<<"# index="<<++mi_Index<<", Value="<<ArgiValue<<endl; }
|
||||
public :
|
||||
};/*
|
||||
class ZCFunctor1*/
|
||||
cout<<"# Elem : "<< AiInt << VR_CTuple._1++ << endl;
|
||||
}/*
|
||||
(ZTypInt AiInt, ZCTuple& VR_CTuple)*/
|
||||
_FFC_(ZCShowData2)
|
||||
|
||||
|
||||
//ZNsHide::ZCFunctor1 VO_CFunctor1;
|
||||
ZCFunctor1 VO_CFunctor1;
|
||||
ZNsHide::ZCFunctor1 VO_CFunctor1;
|
||||
/* ZCFunctor1 선언이 main() 바깥에 있어야 하는 문제를 해결할 수 없을까. */
|
||||
|
||||
VO_IntList.IterElement(ZCShowData::Exec);
|
||||
VO_IntList.IterElement(ZCShowData1::Exec);
|
||||
VO_IntList.IterElemRef(ZCShowData2::Exec);
|
||||
VO_IntList.IterElement(&VO_CFunctor1 );
|
||||
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user