commit 2025-10-11 20:41 add ZtCBaseList::MoveLinkAfter() etc : ZCppMain/ZMainHead.H

This commit is contained in:
2025-10-11 20:41:16 +09:00
parent 3c13880b49
commit ce958a5d74
2 changed files with 71 additions and 3 deletions

View File

@ -6572,7 +6572,7 @@ namespace ZNsMain
ZCLink* AddLinkBefore(ZCLink* AP_StdLink, ZCLink* AP_NewLink)*/
void CutLink(ZCLink* AP_StdLink)
ZCLink* CutLink(ZCLink* AP_StdLink)
{
if(mp_HeadLink==AP_StdLink)
{
@ -6605,9 +6605,9 @@ namespace ZNsMain
}/*
else*/
--ml_LinkSize ;
--ml_LinkSize ; return AP_StdLink;
}/*
void CutLink(ZCLink* AP_StdLink)*/
ZCLink* CutLink(ZCLink* AP_StdLink)*/
ZtCBaseList& CutLinkRangeOut /*#######################################*/
@ -7322,6 +7322,46 @@ namespace ZNsMain
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 의 앞에 연결한다.
{ SendOutAfter (AR_CutLink, rhs, ZCLinkOpt(0)); }