commit 2025-10-16 01:58 add ZtCLinkList::MoveLinkIn() & MoveRangeIn() : ZCppMain/ZtCLinkList.H

This commit is contained in:
2025-10-16 01:58:39 +09:00
parent 023e1d8a0a
commit 4838bb74ef
4 changed files with 335 additions and 124 deletions

View File

@ -2223,6 +2223,11 @@ namespace ZNsMain
}/*
void SendOutBefore(ZCLink& AR_CutLink, TypeThis& rhs, ZCLinkOpt AO_StdOpt)*/
void SendOutHead(ZCLink& AR_CutLink, TypeThis& rhs) // AP_CutLink 를 잘라서 rhs 의 앞에 연결한다.
{ SendOutAfter (AR_CutLink, rhs, ZCLinkOpt(0)); }
void SendOutTail(ZCLink& AR_CutLink, TypeThis& rhs) // AP_CutLink 를 잘라서 rhs 의 뒤에 연결한다.
{ SendOutBefore(AR_CutLink, rhs, ZCLinkOpt(0)); }
ZtCObjList& SwapLinkNext(ZCLink& AR_LinkPrev)
{
@ -2415,10 +2420,13 @@ namespace ZNsMain
{
// AR_MoveLink 를 떼어 내고, AR_MoveLink 의 앞뒤 링크를 연결.
ZCLinkFake VO_FakeHead; ZCLinkFake VO_FakeTail;
ZCLinkFake VO_FakeHead ;
ZCLinkFake VO_FakeTail ;
ZCLink* VP_FakeHead=reinterpret_cast<ZCLink*>(&VO_FakeHead);
ZCLink* VP_FakeTail=reinterpret_cast<ZCLink*>(&VO_FakeTail);
ZCLink* VP_FakeHead =
reinterpret_cast<ZCLink*>( &VO_FakeHead) ;
ZCLink* VP_FakeTail =
reinterpret_cast<ZCLink*>( &VO_FakeTail) ;
ZCLink::JoinLink( VP_FakeHead, mp_HeadLink ) ;
ZCLink::JoinLink( mp_TailLink, VP_FakeTail ) ;
@ -2517,18 +2525,12 @@ namespace ZNsMain
{ return MoveLinkIn(AR_MoveLink, ZCLinkOpt(0), false); }
void SendOutHead(ZCLink& AR_CutLink, TypeThis& rhs) // AP_CutLink 를 잘라서 rhs 의 앞에 연결한다.
{ SendOutAfter (AR_CutLink, rhs, ZCLinkOpt(0)); }
void SendOutTail(ZCLink& AR_CutLink, TypeThis& rhs) // AP_CutLink 를 잘라서 rhs 의 뒤에 연결한다.
{ SendOutBefore(AR_CutLink, rhs, ZCLinkOpt(0)); }
ZtCObjList& MoveRangeIn /*/////////////////////////////////////////*/
ZtCObjList& MoveRangeIn /*/////////////////////////////////////////////*/
(
ZCLink& AR_MoveHead , ZCLink& AR_MoveTail ,
ZCLink& AR_StdLink , bool AB_After
)
/*#################################################################*/
/*#####################################################################*/
{
// AR_MoveHead ~ AR_MoveTail 밖에 AR_StdLink 이 있어야 한다.
// AR_MoveHead 이 AR_MoveTail 위에 와서는 안 된다.
@ -2547,10 +2549,13 @@ namespace ZNsMain
{
// AR_MoveHead~AR_MoveTail 를 떼어 내고, 그 앞뒤 링크를 연결.
ZCLinkFake VO_FakeHead; ZCLinkFake VO_FakeTail;
ZCLinkFake VO_FakeHead ;
ZCLinkFake VO_FakeTail ;
ZCLink* VP_FakeHead=reinterpret_cast<ZCLink*>(&VO_FakeHead);
ZCLink* VP_FakeTail=reinterpret_cast<ZCLink*>(&VO_FakeTail);
ZCLink* VP_FakeHead =
reinterpret_cast<ZCLink*>( &VO_FakeHead) ;
ZCLink* VP_FakeTail =
reinterpret_cast<ZCLink*>( &VO_FakeTail) ;
ZCLink::JoinLink( VP_FakeHead, mp_HeadLink ) ;
ZCLink::JoinLink( mp_TailLink, VP_FakeTail ) ;
@ -2619,12 +2624,12 @@ namespace ZNsMain
}
return *this; /*::::::::::::::::::::::::::::::::*/
}/*
ZtCObjList& MoveRangeIn /////////////////////////////////////////////
ZtCObjList& MoveRangeIn /////////////////////////////////////////////////
(
ZCLink& AR_MoveHead, ZCLink& AR_MoveTail,
ZCLink& AR_StdLink , bool AB_After
)
###################################################################*/
#######################################################################*/