commit 2025-10-11 20:41 add ZtCBaseList::MoveLinkAfter() etc : ZCppMain/ZMainHead.H
This commit is contained in:
@ -6572,7 +6572,7 @@ namespace ZNsMain
|
|||||||
ZCLink* AddLinkBefore(ZCLink* AP_StdLink, ZCLink* AP_NewLink)*/
|
ZCLink* AddLinkBefore(ZCLink* AP_StdLink, ZCLink* AP_NewLink)*/
|
||||||
|
|
||||||
|
|
||||||
void CutLink(ZCLink* AP_StdLink)
|
ZCLink* CutLink(ZCLink* AP_StdLink)
|
||||||
{
|
{
|
||||||
if(mp_HeadLink==AP_StdLink)
|
if(mp_HeadLink==AP_StdLink)
|
||||||
{
|
{
|
||||||
@ -6605,9 +6605,9 @@ namespace ZNsMain
|
|||||||
}/*
|
}/*
|
||||||
else*/
|
else*/
|
||||||
|
|
||||||
--ml_LinkSize ;
|
--ml_LinkSize ; return AP_StdLink;
|
||||||
}/*
|
}/*
|
||||||
void CutLink(ZCLink* AP_StdLink)*/
|
ZCLink* CutLink(ZCLink* AP_StdLink)*/
|
||||||
|
|
||||||
|
|
||||||
ZtCBaseList& CutLinkRangeOut /*#######################################*/
|
ZtCBaseList& CutLinkRangeOut /*#######################################*/
|
||||||
@ -7322,6 +7322,46 @@ namespace ZNsMain
|
|||||||
ZtCBaseList& SwapLink(ZCLink& AR_LinkOne, ZCLink& AR_LinkTwo)*/
|
ZtCBaseList& SwapLink(ZCLink& AR_LinkOne, ZCLink& AR_LinkTwo)*/
|
||||||
|
|
||||||
|
|
||||||
|
ZtCBaseList& MoveLinkAfter (ZCLink& AR_MoveLink, ZCLinkOpt AO_StdOpt)
|
||||||
|
{
|
||||||
|
if(&AR_MoveLink==AO_StdOpt.Raw()){return *this;}
|
||||||
|
|
||||||
|
if(size()<=1){return *this;} AddLinkAfter
|
||||||
|
( AO_StdOpt.Raw(), CutLink(&AR_MoveLink) ) ;
|
||||||
|
|
||||||
|
return *this; /**************************/
|
||||||
|
}/*
|
||||||
|
ZtCBaseList& MoveLinkAfter (ZCLink& AR_MoveLink, ZCLinkOpt AO_StdOpt)*/
|
||||||
|
ZtCBaseList& MoveLinkBefore(ZCLink& AR_MoveLink, ZCLinkOpt AO_StdOpt)
|
||||||
|
{
|
||||||
|
if(&AR_MoveLink==AO_StdOpt.Raw()){return *this;}
|
||||||
|
|
||||||
|
if(size()<=1){return *this;} AddLinkBefore
|
||||||
|
( AO_StdOpt.Raw(), CutLink(&AR_MoveLink) ) ;
|
||||||
|
|
||||||
|
return *this; /**************************/
|
||||||
|
}/*
|
||||||
|
ZtCBaseList& MoveLinkBefore(ZCLink& AR_MoveLink, ZCLinkOpt AO_StdOpt)*/
|
||||||
|
|
||||||
|
ZtCBaseList& MoveLinkHead(ZCLink& AR_MoveLink) /*::::::::::::::::::::*/
|
||||||
|
{
|
||||||
|
if(&AR_MoveLink==mp_HeadLink){return *this;}
|
||||||
|
|
||||||
|
if(size()<=1){return *this;} AddLinkAfter
|
||||||
|
( 0, CutLink(&AR_MoveLink) ) ;
|
||||||
|
return *this; /**************************/
|
||||||
|
}/*
|
||||||
|
ZtCBaseList& MoveLinkHead(ZCLink& AR_MoveLink) ::::::::::::::::::::::*/
|
||||||
|
ZtCBaseList& MoveLinkTail(ZCLink& AR_MoveLink) /*::::::::::::::::::::*/
|
||||||
|
{
|
||||||
|
if(&AR_MoveLink==mp_TailLink){return *this;}
|
||||||
|
|
||||||
|
if(size()<=1){return *this;} AddLinkBefore
|
||||||
|
( 0, CutLink(&AR_MoveLink) ) ;
|
||||||
|
return *this; /**************************/
|
||||||
|
}/*
|
||||||
|
ZtCBaseList& MoveLinkTail(ZCLink& AR_MoveLink) ::::::::::::::::::::::*/
|
||||||
|
|
||||||
|
|
||||||
void SendOutHead(ZCLink& AR_CutLink, TypeThis& rhs) // AP_CutLink 를 잘라서 rhs 의 앞에 연결한다.
|
void SendOutHead(ZCLink& AR_CutLink, TypeThis& rhs) // AP_CutLink 를 잘라서 rhs 의 앞에 연결한다.
|
||||||
{ SendOutAfter (AR_CutLink, rhs, ZCLinkOpt(0)); }
|
{ SendOutAfter (AR_CutLink, rhs, ZCLinkOpt(0)); }
|
||||||
|
@ -619,6 +619,34 @@ namespace ZNsMain
|
|||||||
cout<<"*****************************************************"<<endl;
|
cout<<"*****************************************************"<<endl;
|
||||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||||
|
|
||||||
|
cout<<endl<<"# after VO_ZCBaseListEx10_2.MoveLinkHead(2th)"<<endl;
|
||||||
|
VO_ZCBaseListEx10_2.MoveLinkHead( VO_ZCBaseListEx10_2.HeadRef(1));
|
||||||
|
cout<<"*****************************************************"<<endl;
|
||||||
|
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||||
|
|
||||||
|
cout<<endl<<"# after VO_ZCBaseListEx10_2.MoveLinkTail(1th)"<<endl;
|
||||||
|
VO_ZCBaseListEx10_2.MoveLinkTail( VO_ZCBaseListEx10_2.HeadRef());
|
||||||
|
cout<<"*****************************************************"<<endl;
|
||||||
|
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||||
|
|
||||||
|
cout<<endl<<"# after VO_ZCBaseListEx10_2.MoveLinkAfter(1th, 6th)"<<endl;
|
||||||
|
VO_ZCBaseListEx10_2.MoveLinkAfter
|
||||||
|
( VO_ZCBaseListEx10_2.HeadRef(), VO_ZCBaseListEx10_2.HeadOpt(5));
|
||||||
|
cout<<"*****************************************************"<<endl;
|
||||||
|
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||||
|
|
||||||
|
cout<<endl<<"# after VO_ZCBaseListEx10_2.MoveLinkBefore(5th, 1th)"<<endl;
|
||||||
|
VO_ZCBaseListEx10_2.MoveLinkBefore
|
||||||
|
( VO_ZCBaseListEx10_2.HeadRef(4), VO_ZCBaseListEx10_2.HeadOpt());
|
||||||
|
cout<<"*****************************************************"<<endl;
|
||||||
|
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||||
|
|
||||||
|
cout<<endl<<"# after VO_ZCBaseListEx10_2.MoveLinkAfter(1th, 2th)"<<endl;
|
||||||
|
VO_ZCBaseListEx10_2.MoveLinkAfter
|
||||||
|
( VO_ZCBaseListEx10_2.HeadRef(), VO_ZCBaseListEx10_2.HeadOpt(1));
|
||||||
|
cout<<"*****************************************************"<<endl;
|
||||||
|
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}/*
|
}/*
|
||||||
static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)*/
|
static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)*/
|
||||||
|
Reference in New Issue
Block a user