commit 2025-10-04 09:54 IterElemLink() in ZtCBaseList : ZCppMain/ZMainHead.H
This commit is contained in:
@ -6256,6 +6256,47 @@ namespace ZNsMain
|
|||||||
###############################################################################*/
|
###############################################################################*/
|
||||||
|
|
||||||
|
|
||||||
|
template<typename TFunctor> void IterElemLink(TFunctor AO_Functor)
|
||||||
|
{
|
||||||
|
ZCLink* VP_LoopLink=mp_HeadLink;
|
||||||
|
|
||||||
|
__for0(TypeSize, i, ml_LinkSize)
|
||||||
|
{
|
||||||
|
ZtCTypeData<TFunctor>::
|
||||||
|
GetObjRef(AO_Functor)( *VP_LoopLink );
|
||||||
|
|
||||||
|
VP_LoopLink = VP_LoopLink->mp_NextLink ;
|
||||||
|
}/*
|
||||||
|
__for0(TypeSize, i, ml_LinkSize)*/
|
||||||
|
}/*
|
||||||
|
template<typename TFunctor> void IterElemLink(TFunctor AO_Functor) */
|
||||||
|
|
||||||
|
|
||||||
|
template<typename TFunctor, typename TTypeHelp>
|
||||||
|
void IterElemLink(TFunctor AO_Functor, TTypeHelp AO_TypeHelp)
|
||||||
|
{
|
||||||
|
typedef ZNsMain::
|
||||||
|
ZtCCheckRef<TTypeHelp> ZCCheckRef;
|
||||||
|
|
||||||
|
ZCLink* VP_LoopLink=mp_HeadLink;
|
||||||
|
|
||||||
|
__for0(TypeSize, i, ml_LinkSize)
|
||||||
|
{
|
||||||
|
ZtCTypeData<TFunctor>::GetObjRef(AO_Functor)
|
||||||
|
(
|
||||||
|
*VP_LoopLink, ZCCheckRef::PassData(AO_TypeHelp)
|
||||||
|
);
|
||||||
|
////////////////////////////////////////////
|
||||||
|
|
||||||
|
VP_LoopLink = VP_LoopLink->mp_NextLink ;
|
||||||
|
}/*
|
||||||
|
__for0(TypeSize, i, ml_LinkSize)*/
|
||||||
|
}/*
|
||||||
|
template<typename TFunctor, typename TTypeHelp>
|
||||||
|
void IterElemLink(TFunctor AO_Functor, TTypeHelp AO_TypeHelp) */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ZCLink* GetHeadLinkPtr(){return mp_HeadLink;}
|
ZCLink* GetHeadLinkPtr(){return mp_HeadLink;}
|
||||||
ZCLink* GetTailLinkPtr(){return mp_TailLink;}
|
ZCLink* GetTailLinkPtr(){return mp_TailLink;}
|
||||||
|
|
||||||
|
@ -934,7 +934,7 @@ namespace ZNsMain
|
|||||||
ZCLink* VP_TmpLink =this;
|
ZCLink* VP_TmpLink =this;
|
||||||
|
|
||||||
while(VL_LoopIndex++ < AL_Distance)
|
while(VL_LoopIndex++ < AL_Distance)
|
||||||
VP_TmpLink = VP_TmpLink->mp_PrevtLink ;
|
VP_TmpLink = VP_TmpLink->mp_PrevLink ;
|
||||||
|
|
||||||
return VP_TmpLink;
|
return VP_TmpLink;
|
||||||
}/*
|
}/*
|
||||||
@ -959,7 +959,7 @@ namespace ZNsMain
|
|||||||
ZCLink* VP_TmpLink = const_cast<ZCLink*>(this) ;
|
ZCLink* VP_TmpLink = const_cast<ZCLink*>(this) ;
|
||||||
|
|
||||||
while(VL_LoopIndex++ < AL_Distance)
|
while(VL_LoopIndex++ < AL_Distance)
|
||||||
VP_TmpLink = VP_TmpLink->mp_PrevtLink ;
|
VP_TmpLink = VP_TmpLink->mp_PrevLink ;
|
||||||
|
|
||||||
return VP_TmpLink;
|
return VP_TmpLink;
|
||||||
}/*
|
}/*
|
||||||
@ -2560,6 +2560,46 @@ namespace ZNsMain
|
|||||||
###############################################################################*/
|
###############################################################################*/
|
||||||
|
|
||||||
|
|
||||||
|
template<typename TFunctor> void IterElemLink(TFunctor AO_Functor)
|
||||||
|
{
|
||||||
|
ZCLink* VP_LoopLink=mp_HeadLink;
|
||||||
|
|
||||||
|
__for0(TypeSize, i, ml_LinkSize)
|
||||||
|
{
|
||||||
|
ZtCTypeData<TFunctor>::
|
||||||
|
GetObjRef(AO_Functor)( *VP_LoopLink );
|
||||||
|
|
||||||
|
VP_LoopLink = VP_LoopLink->mp_NextLink ;
|
||||||
|
}/*
|
||||||
|
__for0(TypeSize, i, ml_LinkSize)*/
|
||||||
|
}/*
|
||||||
|
template<typename TFunctor> void IterElemLink(TFunctor AO_Functor) */
|
||||||
|
|
||||||
|
|
||||||
|
template<typename TFunctor, typename TTypeHelp>
|
||||||
|
void IterElemLink(TFunctor AO_Functor, TTypeHelp AO_TypeHelp)
|
||||||
|
{
|
||||||
|
typedef ZNsMain::
|
||||||
|
ZtCCheckRef<TTypeHelp> ZCCheckRef;
|
||||||
|
|
||||||
|
ZCLink* VP_LoopLink=mp_HeadLink;
|
||||||
|
|
||||||
|
__for0(TypeSize, i, ml_LinkSize)
|
||||||
|
{
|
||||||
|
ZtCTypeData<TFunctor>::GetObjRef(AO_Functor)
|
||||||
|
(
|
||||||
|
*VP_LoopLink, ZCCheckRef::PassData(AO_TypeHelp)
|
||||||
|
);
|
||||||
|
////////////////////////////////////////////
|
||||||
|
|
||||||
|
VP_LoopLink = VP_LoopLink->mp_NextLink ;
|
||||||
|
}/*
|
||||||
|
__for0(TypeSize, i, ml_LinkSize)*/
|
||||||
|
}/*
|
||||||
|
template<typename TFunctor, typename TTypeHelp>
|
||||||
|
void IterElemLink(TFunctor AO_Functor, TTypeHelp AO_TypeHelp) */
|
||||||
|
|
||||||
|
|
||||||
template<typename TFunctor> void IterElemLink ///////////////////////
|
template<typename TFunctor> void IterElemLink ///////////////////////
|
||||||
(
|
(
|
||||||
ZCLink& AR_StdLink ,
|
ZCLink& AR_StdLink ,
|
||||||
|
@ -2198,6 +2198,46 @@ namespace ZNsMain
|
|||||||
template<typename TFunctor> void IterElemDel(TFunctor AO_Functor) */
|
template<typename TFunctor> void IterElemDel(TFunctor AO_Functor) */
|
||||||
|
|
||||||
|
|
||||||
|
template<typename TFunctor> void IterElemLink(TFunctor AO_Functor)
|
||||||
|
{
|
||||||
|
ZCLink* VP_LoopLink=mp_HeadLink;
|
||||||
|
|
||||||
|
__for0(TypeSize, i, ml_LinkSize)
|
||||||
|
{
|
||||||
|
ZtCTypeData<TFunctor>::
|
||||||
|
GetObjRef(AO_Functor)( *VP_LoopLink );
|
||||||
|
|
||||||
|
VP_LoopLink = VP_LoopLink->mp_NextLink ;
|
||||||
|
}/*
|
||||||
|
__for0(TypeSize, i, ml_LinkSize)*/
|
||||||
|
}/*
|
||||||
|
template<typename TFunctor> void IterElemLink(TFunctor AO_Functor) */
|
||||||
|
|
||||||
|
|
||||||
|
template<typename TFunctor, typename TTypeHelp>
|
||||||
|
void IterElemLink(TFunctor AO_Functor, TTypeHelp AO_TypeHelp)
|
||||||
|
{
|
||||||
|
typedef ZNsMain::
|
||||||
|
ZtCCheckRef<TTypeHelp> ZCCheckRef;
|
||||||
|
|
||||||
|
ZCLink* VP_LoopLink=mp_HeadLink;
|
||||||
|
|
||||||
|
__for0(TypeSize, i, ml_LinkSize)
|
||||||
|
{
|
||||||
|
ZtCTypeData<TFunctor>::GetObjRef(AO_Functor)
|
||||||
|
(
|
||||||
|
*VP_LoopLink, ZCCheckRef::PassData(AO_TypeHelp)
|
||||||
|
);
|
||||||
|
////////////////////////////////////////////
|
||||||
|
|
||||||
|
VP_LoopLink = VP_LoopLink->mp_NextLink ;
|
||||||
|
}/*
|
||||||
|
__for0(TypeSize, i, ml_LinkSize)*/
|
||||||
|
}/*
|
||||||
|
template<typename TFunctor, typename TTypeHelp>
|
||||||
|
void IterElemLink(TFunctor AO_Functor, TTypeHelp AO_TypeHelp) */
|
||||||
|
|
||||||
|
|
||||||
template<typename TFunctor> void IterElemLink ///////////////////////
|
template<typename TFunctor> void IterElemLink ///////////////////////
|
||||||
(
|
(
|
||||||
ZCLink* AP_StdLink ,
|
ZCLink* AP_StdLink ,
|
||||||
|
@ -33,6 +33,9 @@ namespace ZNsMain
|
|||||||
typedef ZtCObjList
|
typedef ZtCObjList
|
||||||
<CStringBase, CCStringBase&> CStringList2 ;
|
<CStringBase, CCStringBase&> CStringList2 ;
|
||||||
|
|
||||||
|
typedef CStringList1::ZCLink ZCLink1;
|
||||||
|
typedef CStringList2::ZCLink ZCLink2;
|
||||||
|
|
||||||
|
|
||||||
static void ShowDataInNode(const CStringBase& AR_Data)
|
static void ShowDataInNode(const CStringBase& AR_Data)
|
||||||
{
|
{
|
||||||
@ -40,6 +43,23 @@ namespace ZNsMain
|
|||||||
}/*
|
}/*
|
||||||
static void ShowDataInNode(const CStringBase& AR_Data)*/
|
static void ShowDataInNode(const CStringBase& AR_Data)*/
|
||||||
|
|
||||||
|
static void ShowNode1(ZCLink1& AR_CLink)
|
||||||
|
{
|
||||||
|
cout<<"* Node Prev : "<<*(AR_CLink-1)<<endl;
|
||||||
|
cout<<"* Node Curr : "<<*(AR_CLink )<<endl;
|
||||||
|
cout<<"* Node Next : "<<*(AR_CLink+1)<<endl;
|
||||||
|
}/*
|
||||||
|
static void ShowNode1(ZCLink1& AR_CLink)*/
|
||||||
|
|
||||||
|
static void ShowNode2(ZCLink2& AR_CLink)
|
||||||
|
{
|
||||||
|
cout<<"* Node Prev : "<<*(AR_CLink-1)<<endl;
|
||||||
|
cout<<"* Node Curr : "<<*(AR_CLink )<<endl;
|
||||||
|
cout<<"* Node Next : "<<*(AR_CLink+1)<<endl;
|
||||||
|
}/*
|
||||||
|
static void ShowNode2(ZCLink2& AR_CLink)*/
|
||||||
|
|
||||||
|
|
||||||
static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)
|
static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)
|
||||||
{
|
{
|
||||||
CStringBase VO_CStringBase ;
|
CStringBase VO_CStringBase ;
|
||||||
@ -209,6 +229,9 @@ namespace ZNsMain
|
|||||||
cout<<"# list10 capacity : " <<VO_ListOfStr10.capacity ()<<endl;
|
cout<<"# list10 capacity : " <<VO_ListOfStr10.capacity ()<<endl;
|
||||||
cout<<"# list11 capacity : " <<VO_ListOfStr11.capacity ()<<endl;
|
cout<<"# list11 capacity : " <<VO_ListOfStr11.capacity ()<<endl;
|
||||||
|
|
||||||
|
cout<<"# list10 IterElemLink"<<endl;
|
||||||
|
VO_ListOfStr10.IterElemLink(&ShowNode1);
|
||||||
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}/*
|
}/*
|
||||||
|
Reference in New Issue
Block a user