commit 2025-10-16 10:16 add skipping contdition code in list, SendRangeIn() => MoveRangeIn() : ZCppMain/ZtCLinkList.H etc
This commit is contained in:
@ -7937,6 +7937,24 @@ namespace ZNsMain
|
|||||||
) ;
|
) ;
|
||||||
if(CB_NeedFakeLink) /////////////////////////////////////////////
|
if(CB_NeedFakeLink) /////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
|
if ( &AR_MoveLink == mp_HeadLink &&
|
||||||
|
mp_HeadLink->mp_NextLink== &AR_StdLink && !AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
if ( &AR_MoveLink == mp_TailLink &&
|
||||||
|
mp_TailLink->mp_PrevLink== &AR_StdLink && AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
if ( &AR_StdLink == mp_HeadLink &&
|
||||||
|
mp_HeadLink->mp_NextLink== &AR_MoveLink && AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
if ( &AR_StdLink == mp_TailLink &&
|
||||||
|
mp_TailLink->mp_PrevLink== &AR_MoveLink && !AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
|
||||||
|
|
||||||
// AR_MoveLink 를 떼어 내고, AR_MoveLink 의 앞뒤 링크를 연결.
|
// AR_MoveLink 를 떼어 내고, AR_MoveLink 의 앞뒤 링크를 연결.
|
||||||
|
|
||||||
ZCLinkFake VO_FakeHead ;
|
ZCLinkFake VO_FakeHead ;
|
||||||
@ -8066,6 +8084,24 @@ namespace ZNsMain
|
|||||||
) ;
|
) ;
|
||||||
if(CB_NeedFakeLink) /////////////////////////////////////////////
|
if(CB_NeedFakeLink) /////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
|
if ( &AR_MoveHead == mp_HeadLink &&
|
||||||
|
AR_MoveTail.mp_NextLink== &AR_StdLink && !AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
if ( &AR_MoveTail == mp_TailLink &&
|
||||||
|
AR_MoveHead.mp_PrevLink== &AR_StdLink && AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
if ( &AR_StdLink == mp_HeadLink &&
|
||||||
|
AR_StdLink.mp_NextLink == &AR_MoveHead && AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
if ( &AR_StdLink == mp_TailLink &&
|
||||||
|
AR_StdLink.mp_PrevLink == &AR_MoveTail && !AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
|
||||||
|
|
||||||
// AR_MoveHead~AR_MoveTail 를 떼어 내고, 그 앞뒤 링크를 연결.
|
// AR_MoveHead~AR_MoveTail 를 떼어 내고, 그 앞뒤 링크를 연결.
|
||||||
|
|
||||||
ZCLinkFake VO_FakeHead ;
|
ZCLinkFake VO_FakeHead ;
|
||||||
@ -8151,6 +8187,40 @@ namespace ZNsMain
|
|||||||
#######################################################################*/
|
#######################################################################*/
|
||||||
|
|
||||||
|
|
||||||
|
ZtCBaseList& MoveRangeIn ////////////////////////////////////////////////
|
||||||
|
(
|
||||||
|
ZCLink& AR_MoveHead, ZCLink& AR_MoveTail,
|
||||||
|
ZCLinkOpt AO_StdOpt , bool AB_After
|
||||||
|
)
|
||||||
|
/*#####################################################################*/
|
||||||
|
{
|
||||||
|
ZCLink* VP_LinkStd = AO_StdOpt.Raw();
|
||||||
|
|
||||||
|
if(VP_LinkStd==0)
|
||||||
|
{
|
||||||
|
if(AB_After)
|
||||||
|
{ VP_LinkStd = mp_HeadLink; AB_After=false; }
|
||||||
|
else{ VP_LinkStd = mp_TailLink; AB_After=true ; }
|
||||||
|
}/*
|
||||||
|
if(VP_LinkStd==0)*/
|
||||||
|
|
||||||
|
return MoveRangeIn(AR_MoveHead, AR_MoveTail, *VP_LinkStd, AB_After);
|
||||||
|
}
|
||||||
|
/*#####################################################################*/
|
||||||
|
|
||||||
|
ZtCBaseList& MoveRangeInAfter
|
||||||
|
( ZCLink& AR_MoveHead, ZCLink& AR_MoveTail, ZCLinkOpt AO_StdOpt)
|
||||||
|
{ return MoveRangeIn(AR_MoveHead, AR_MoveTail, AO_StdOpt, true ); }
|
||||||
|
ZtCBaseList& MoveRangeInBefore
|
||||||
|
( ZCLink& AR_MoveHead, ZCLink& AR_MoveTail, ZCLinkOpt AO_StdOpt)
|
||||||
|
{ return MoveRangeIn(AR_MoveHead, AR_MoveTail, AO_StdOpt, false); }
|
||||||
|
/***********************************************************************/
|
||||||
|
ZtCBaseList& MoveRangeInHead(ZCLink& AR_MoveHead, ZCLink& AR_MoveTail)
|
||||||
|
{ return MoveRangeIn(AR_MoveHead, AR_MoveTail, ZCLinkOpt(0), true ); }
|
||||||
|
ZtCBaseList& MoveRangeInTail(ZCLink& AR_MoveHead, ZCLink& AR_MoveTail)
|
||||||
|
{ return MoveRangeIn(AR_MoveHead, AR_MoveTail, ZCLinkOpt(0), false); }
|
||||||
|
|
||||||
|
|
||||||
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)); }
|
||||||
void SendOutTail(ZCLink& AR_CutLink, TypeThis& rhs) // AP_CutLink 를 잘라서 rhs 의 뒤에 연결한다.
|
void SendOutTail(ZCLink& AR_CutLink, TypeThis& rhs) // AP_CutLink 를 잘라서 rhs 의 뒤에 연결한다.
|
||||||
@ -8210,78 +8280,6 @@ namespace ZNsMain
|
|||||||
/*#####################################################################*/
|
/*#####################################################################*/
|
||||||
|
|
||||||
|
|
||||||
ZtCBaseList& SendRangeIn ////////////////////////////////////////////////
|
|
||||||
(
|
|
||||||
ZCLink& AR_CutHead, ZCLink& AR_CutTail,
|
|
||||||
TypeSize AI_CutSize, ZCLinkOpt AO_LinkOpt, bool AB_After
|
|
||||||
)
|
|
||||||
/*#####################################################################*/
|
|
||||||
{
|
|
||||||
// AR_CutHead 부터 AR_CutTail 까지를 잘라서 AR_StdLink 뒤에 연결한다.
|
|
||||||
|
|
||||||
if(AI_CutSize < 1 ){return *this;}
|
|
||||||
if(AI_CutSize >= size()){return *this;}
|
|
||||||
|
|
||||||
ZtCBaseList VO_Saver; CutLinkRangeOut /***********/
|
|
||||||
(
|
|
||||||
AR_CutHead , AR_CutTail , AI_CutSize,
|
|
||||||
RR(VO_Saver), AO_LinkOpt.Raw(), AB_After
|
|
||||||
);
|
|
||||||
/*************************************************/
|
|
||||||
|
|
||||||
if(AB_After)
|
|
||||||
return JoinAfter (VO_Saver, AO_LinkOpt);
|
|
||||||
else return JoinBefore(VO_Saver, AO_LinkOpt);
|
|
||||||
}
|
|
||||||
/*#####################################################################*/
|
|
||||||
|
|
||||||
ZtCBaseList& SendRangeInAfter ///////////////////////////////////////////
|
|
||||||
(
|
|
||||||
ZCLink& AR_CutHead, ZCLink& AR_CutTail,
|
|
||||||
TypeSize AI_CutSize, ZCLinkOpt AO_LinkOpt
|
|
||||||
)
|
|
||||||
/*#####################################################################*/
|
|
||||||
{
|
|
||||||
return SendRangeIn
|
|
||||||
( AR_CutHead, AR_CutTail, AI_CutSize, AO_LinkOpt, true );
|
|
||||||
}
|
|
||||||
/*#####################################################################*/
|
|
||||||
ZtCBaseList& SendRangeInBefore //////////////////////////////////////////
|
|
||||||
(
|
|
||||||
ZCLink& AR_CutHead, ZCLink& AR_CutTail,
|
|
||||||
TypeSize AI_CutSize, ZCLinkOpt AO_LinkOpt
|
|
||||||
)
|
|
||||||
/*#####################################################################*/
|
|
||||||
{
|
|
||||||
return SendRangeIn
|
|
||||||
( AR_CutHead, AR_CutTail, AI_CutSize, AO_LinkOpt, false);
|
|
||||||
}
|
|
||||||
/*#####################################################################*/
|
|
||||||
|
|
||||||
ZtCBaseList& SendRangeInHead ////////////////////////////////////////////
|
|
||||||
(
|
|
||||||
ZCLink& AR_CutHead, ZCLink& AR_CutTail,
|
|
||||||
TypeSize AI_CutSize, ZCLinkOpt AO_LinkOpt
|
|
||||||
)
|
|
||||||
/*#####################################################################*/
|
|
||||||
{
|
|
||||||
return SendRangeIn
|
|
||||||
( AR_CutHead, AR_CutTail, AI_CutSize, ZCLinkOpt(0), true );
|
|
||||||
}
|
|
||||||
/*#####################################################################*/
|
|
||||||
ZtCBaseList& SendRangeInTail ////////////////////////////////////////////
|
|
||||||
(
|
|
||||||
ZCLink& AR_CutHead, ZCLink& AR_CutTail,
|
|
||||||
TypeSize AI_CutSize, ZCLinkOpt AO_LinkOpt
|
|
||||||
)
|
|
||||||
/*#####################################################################*/
|
|
||||||
{
|
|
||||||
return SendRangeIn
|
|
||||||
( AR_CutHead, AR_CutTail, AI_CutSize, ZCLinkOpt(0), false);
|
|
||||||
}
|
|
||||||
/*#####################################################################*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TypeThis& CopyThis(TypeThis& ARR_Rhs) const
|
TypeThis& CopyThis(TypeThis& ARR_Rhs) const
|
||||||
{
|
{
|
||||||
|
@ -2587,6 +2587,24 @@ namespace ZNsMain
|
|||||||
) ;
|
) ;
|
||||||
if(CB_NeedFakeLink) /////////////////////////////////////////////
|
if(CB_NeedFakeLink) /////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
|
if ( &AR_MoveLink == mp_HeadLink &&
|
||||||
|
mp_HeadLink->mp_NextLink== &AR_StdLink && !AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
if ( &AR_MoveLink == mp_TailLink &&
|
||||||
|
mp_TailLink->mp_PrevLink== &AR_StdLink && AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
if ( &AR_StdLink == mp_HeadLink &&
|
||||||
|
mp_HeadLink->mp_NextLink== &AR_MoveLink && AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
if ( &AR_StdLink == mp_TailLink &&
|
||||||
|
mp_TailLink->mp_PrevLink== &AR_MoveLink && !AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
|
||||||
|
|
||||||
// AR_MoveLink 를 떼어 내고, AR_MoveLink 의 앞뒤 링크를 연결.
|
// AR_MoveLink 를 떼어 내고, AR_MoveLink 의 앞뒤 링크를 연결.
|
||||||
|
|
||||||
ZCLink VO_FakeHead ;
|
ZCLink VO_FakeHead ;
|
||||||
@ -2714,6 +2732,24 @@ namespace ZNsMain
|
|||||||
) ;
|
) ;
|
||||||
if(CB_NeedFakeLink) /////////////////////////////////////////////
|
if(CB_NeedFakeLink) /////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
|
if ( &AR_MoveHead == mp_HeadLink &&
|
||||||
|
AR_MoveTail.mp_NextLink== &AR_StdLink && !AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
if ( &AR_MoveTail == mp_TailLink &&
|
||||||
|
AR_MoveHead.mp_PrevLink== &AR_StdLink && AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
if ( &AR_StdLink == mp_HeadLink &&
|
||||||
|
AR_StdLink.mp_NextLink == &AR_MoveHead && AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
if ( &AR_StdLink == mp_TailLink &&
|
||||||
|
AR_StdLink.mp_PrevLink == &AR_MoveTail && !AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
|
||||||
|
|
||||||
// AR_MoveHead~AR_MoveTail 를 떼어 내고, 그 앞뒤 링크를 연결.
|
// AR_MoveHead~AR_MoveTail 를 떼어 내고, 그 앞뒤 링크를 연결.
|
||||||
|
|
||||||
ZCLink VO_FakeHead ;
|
ZCLink VO_FakeHead ;
|
||||||
@ -2797,76 +2833,39 @@ namespace ZNsMain
|
|||||||
#######################################################################*/
|
#######################################################################*/
|
||||||
|
|
||||||
|
|
||||||
TypeThis& SendRangeIn ///////////////////////////////////////////////////
|
TypeThis& MoveRangeIn ///////////////////////////////////////////////////
|
||||||
(
|
(
|
||||||
ZCLink& AR_CutHead, ZCLink& AR_CutTail,
|
ZCLink& AR_MoveHead, ZCLink& AR_MoveTail,
|
||||||
TypeSize AI_CutSize, ZCLinkOpt AO_LinkOpt, bool AB_After
|
ZCLinkOpt AO_StdOpt , bool AB_After
|
||||||
)
|
)
|
||||||
/*#####################################################################*/
|
/*#####################################################################*/
|
||||||
{
|
{
|
||||||
// AR_CutHead 부터 AR_CutTail 까지를 잘라서 AR_StdLink 뒤에 연결한다.
|
ZCLink* VP_LinkStd = AO_StdOpt.Raw();
|
||||||
|
|
||||||
if(AI_CutSize < 1 ){return *this;}
|
if(VP_LinkStd==0)
|
||||||
if(AI_CutSize >= size()){return *this;}
|
{
|
||||||
|
if(AB_After)
|
||||||
|
{ VP_LinkStd = mp_HeadLink; AB_After=false; }
|
||||||
|
else{ VP_LinkStd = mp_TailLink; AB_After=true ; }
|
||||||
|
}/*
|
||||||
|
if(VP_LinkStd==0)*/
|
||||||
|
|
||||||
TypeThis VO_Saver; CutLinkRangeOut /**************/
|
return MoveRangeIn(AR_MoveHead, AR_MoveTail, *VP_LinkStd, AB_After);
|
||||||
(
|
|
||||||
AR_CutHead , AR_CutTail , AI_CutSize,
|
|
||||||
RR(VO_Saver), AO_LinkOpt.Raw(), AB_After
|
|
||||||
);
|
|
||||||
/*************************************************/
|
|
||||||
|
|
||||||
if(AB_After)
|
|
||||||
return JoinAfter (VO_Saver, AO_LinkOpt);
|
|
||||||
else return JoinBefore(VO_Saver, AO_LinkOpt);
|
|
||||||
}
|
}
|
||||||
/*#####################################################################*/
|
/*#####################################################################*/
|
||||||
|
|
||||||
TypeThis& SendRangeInAfter //////////////////////////////////////////////
|
TypeThis& MoveRangeInAfter
|
||||||
(
|
( ZCLink& AR_MoveHead, ZCLink& AR_MoveTail, ZCLinkOpt AO_StdOpt)
|
||||||
ZCLink& AR_CutHead, ZCLink& AR_CutTail,
|
{ return MoveRangeIn(AR_MoveHead, AR_MoveTail, AO_StdOpt, true ); }
|
||||||
TypeSize AI_CutSize, ZCLinkOpt AO_LinkOpt
|
TypeThis& MoveRangeInBefore
|
||||||
)
|
( ZCLink& AR_MoveHead, ZCLink& AR_MoveTail, ZCLinkOpt AO_StdOpt)
|
||||||
/*#####################################################################*/
|
{ return MoveRangeIn(AR_MoveHead, AR_MoveTail, AO_StdOpt, false); }
|
||||||
{
|
/***********************************************************************/
|
||||||
return SendRangeIn
|
TypeThis& MoveRangeInHead(ZCLink& AR_MoveHead, ZCLink& AR_MoveTail)
|
||||||
( AR_CutHead, AR_CutTail, AI_CutSize, AO_LinkOpt, true );
|
{ return MoveRangeIn(AR_MoveHead, AR_MoveTail, ZCLinkOpt(0), true ); }
|
||||||
}
|
TypeThis& MoveRangeInTail(ZCLink& AR_MoveHead, ZCLink& AR_MoveTail)
|
||||||
/*#####################################################################*/
|
{ return MoveRangeIn(AR_MoveHead, AR_MoveTail, ZCLinkOpt(0), false); }
|
||||||
TypeThis& SendRangeInBefore /////////////////////////////////////////////
|
|
||||||
(
|
|
||||||
ZCLink& AR_CutHead, ZCLink& AR_CutTail,
|
|
||||||
TypeSize AI_CutSize, ZCLinkOpt AO_LinkOpt
|
|
||||||
)
|
|
||||||
/*#####################################################################*/
|
|
||||||
{
|
|
||||||
return SendRangeIn
|
|
||||||
( AR_CutHead, AR_CutTail, AI_CutSize, AO_LinkOpt, false);
|
|
||||||
}
|
|
||||||
/*#####################################################################*/
|
|
||||||
|
|
||||||
TypeThis& SendRangeInHead ///////////////////////////////////////////////
|
|
||||||
(
|
|
||||||
ZCLink& AR_CutHead, ZCLink& AR_CutTail,
|
|
||||||
TypeSize AI_CutSize, ZCLinkOpt AO_LinkOpt
|
|
||||||
)
|
|
||||||
/*#####################################################################*/
|
|
||||||
{
|
|
||||||
return SendRangeIn
|
|
||||||
( AR_CutHead, AR_CutTail, AI_CutSize, ZCLinkOpt(0), true );
|
|
||||||
}
|
|
||||||
/*#####################################################################*/
|
|
||||||
TypeThis& SendRangeInTail ///////////////////////////////////////////////
|
|
||||||
(
|
|
||||||
ZCLink& AR_CutHead, ZCLink& AR_CutTail,
|
|
||||||
TypeSize AI_CutSize, ZCLinkOpt AO_LinkOpt
|
|
||||||
)
|
|
||||||
/*#####################################################################*/
|
|
||||||
{
|
|
||||||
return SendRangeIn
|
|
||||||
( AR_CutHead, AR_CutTail, AI_CutSize, ZCLinkOpt(0), false);
|
|
||||||
}
|
|
||||||
/*#####################################################################*/
|
|
||||||
|
|
||||||
|
|
||||||
TypeThis& CopyThis(TypeThis& ARR_Rhs) const
|
TypeThis& CopyThis(TypeThis& ARR_Rhs) const
|
||||||
|
@ -2418,6 +2418,24 @@ namespace ZNsMain
|
|||||||
) ;
|
) ;
|
||||||
if(CB_NeedFakeLink) /////////////////////////////////////////////
|
if(CB_NeedFakeLink) /////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
|
if ( &AR_MoveLink == mp_HeadLink &&
|
||||||
|
mp_HeadLink->mp_NextLink== &AR_StdLink && !AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
if ( &AR_MoveLink == mp_TailLink &&
|
||||||
|
mp_TailLink->mp_PrevLink== &AR_StdLink && AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
if ( &AR_StdLink == mp_HeadLink &&
|
||||||
|
mp_HeadLink->mp_NextLink== &AR_MoveLink && AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
if ( &AR_StdLink == mp_TailLink &&
|
||||||
|
mp_TailLink->mp_PrevLink== &AR_MoveLink && !AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
|
||||||
|
|
||||||
// AR_MoveLink 를 떼어 내고, AR_MoveLink 의 앞뒤 링크를 연결.
|
// AR_MoveLink 를 떼어 내고, AR_MoveLink 의 앞뒤 링크를 연결.
|
||||||
|
|
||||||
ZCLinkFake VO_FakeHead ;
|
ZCLinkFake VO_FakeHead ;
|
||||||
@ -2547,6 +2565,24 @@ namespace ZNsMain
|
|||||||
) ;
|
) ;
|
||||||
if(CB_NeedFakeLink) /////////////////////////////////////////////
|
if(CB_NeedFakeLink) /////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
|
if ( &AR_MoveHead == mp_HeadLink &&
|
||||||
|
AR_MoveTail.mp_NextLink== &AR_StdLink && !AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
if ( &AR_MoveTail == mp_TailLink &&
|
||||||
|
AR_MoveHead.mp_PrevLink== &AR_StdLink && AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
if ( &AR_StdLink == mp_HeadLink &&
|
||||||
|
AR_StdLink.mp_NextLink == &AR_MoveHead && AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
if ( &AR_StdLink == mp_TailLink &&
|
||||||
|
AR_StdLink.mp_PrevLink == &AR_MoveTail && !AB_After
|
||||||
|
)
|
||||||
|
{ return *this; } /*****************************************/
|
||||||
|
|
||||||
|
|
||||||
// AR_MoveHead~AR_MoveTail 를 떼어 내고, 그 앞뒤 링크를 연결.
|
// AR_MoveHead~AR_MoveTail 를 떼어 내고, 그 앞뒤 링크를 연결.
|
||||||
|
|
||||||
ZCLinkFake VO_FakeHead ;
|
ZCLinkFake VO_FakeHead ;
|
||||||
@ -2632,6 +2668,39 @@ namespace ZNsMain
|
|||||||
#######################################################################*/
|
#######################################################################*/
|
||||||
|
|
||||||
|
|
||||||
|
ZtCObjList& MoveRangeIn /////////////////////////////////////////////////
|
||||||
|
(
|
||||||
|
ZCLink& AR_MoveHead, ZCLink& AR_MoveTail,
|
||||||
|
ZCLinkOpt AO_StdOpt , bool AB_After
|
||||||
|
)
|
||||||
|
/*#####################################################################*/
|
||||||
|
{
|
||||||
|
ZCLink* VP_LinkStd = AO_StdOpt.Raw();
|
||||||
|
|
||||||
|
if(VP_LinkStd==0)
|
||||||
|
{
|
||||||
|
if(AB_After)
|
||||||
|
{ VP_LinkStd = mp_HeadLink; AB_After=false; }
|
||||||
|
else{ VP_LinkStd = mp_TailLink; AB_After=true ; }
|
||||||
|
}/*
|
||||||
|
if(VP_LinkStd==0)*/
|
||||||
|
|
||||||
|
return MoveRangeIn(AR_MoveHead, AR_MoveTail, *VP_LinkStd, AB_After);
|
||||||
|
}
|
||||||
|
/*#####################################################################*/
|
||||||
|
|
||||||
|
ZtCObjList& MoveRangeInAfter
|
||||||
|
( ZCLink& AR_MoveHead, ZCLink& AR_MoveTail, ZCLinkOpt AO_StdOpt)
|
||||||
|
{ return MoveRangeIn(AR_MoveHead, AR_MoveTail, AO_StdOpt, true ); }
|
||||||
|
ZtCObjList& MoveRangeInBefore
|
||||||
|
( ZCLink& AR_MoveHead, ZCLink& AR_MoveTail, ZCLinkOpt AO_StdOpt)
|
||||||
|
{ return MoveRangeIn(AR_MoveHead, AR_MoveTail, AO_StdOpt, false); }
|
||||||
|
/***********************************************************************/
|
||||||
|
ZtCObjList& MoveRangeInHead(ZCLink& AR_MoveHead, ZCLink& AR_MoveTail)
|
||||||
|
{ return MoveRangeIn(AR_MoveHead, AR_MoveTail, ZCLinkOpt(0), true ); }
|
||||||
|
ZtCObjList& MoveRangeInTail(ZCLink& AR_MoveHead, ZCLink& AR_MoveTail)
|
||||||
|
{ return MoveRangeIn(AR_MoveHead, AR_MoveTail, ZCLinkOpt(0), false); }
|
||||||
|
|
||||||
|
|
||||||
ZtCObjList& SendRangeOut ///////////////////////////////////////////////
|
ZtCObjList& SendRangeOut ///////////////////////////////////////////////
|
||||||
(
|
(
|
||||||
@ -2686,79 +2755,6 @@ namespace ZNsMain
|
|||||||
/*#####################################################################*/
|
/*#####################################################################*/
|
||||||
|
|
||||||
|
|
||||||
ZtCObjList& SendRangeIn /////////////////////////////////////////////////
|
|
||||||
(
|
|
||||||
ZCLink& AR_CutHead, ZCLink& AR_CutTail,
|
|
||||||
TypeSize AI_CutSize, ZCLinkOpt AO_LinkOpt, bool AB_After
|
|
||||||
)
|
|
||||||
/*#####################################################################*/
|
|
||||||
{
|
|
||||||
// AR_CutHead 부터 AR_CutTail 까지를 잘라서 AR_StdLink 뒤에 연결한다.
|
|
||||||
|
|
||||||
if(AI_CutSize < 1 ){return *this;}
|
|
||||||
if(AI_CutSize >= size()){return *this;}
|
|
||||||
|
|
||||||
ZtCObjList VO_Saver; CutLinkRangeOut /***********/
|
|
||||||
(
|
|
||||||
AR_CutHead , AR_CutTail , AI_CutSize,
|
|
||||||
RR(VO_Saver), AO_LinkOpt.Raw(), AB_After
|
|
||||||
);
|
|
||||||
/*************************************************/
|
|
||||||
|
|
||||||
if(AB_After)
|
|
||||||
return JoinAfter (VO_Saver, AO_LinkOpt);
|
|
||||||
else return JoinBefore(VO_Saver, AO_LinkOpt);
|
|
||||||
}
|
|
||||||
/*#####################################################################*/
|
|
||||||
|
|
||||||
ZtCObjList& SendRangeInAfter ////////////////////////////////////////////
|
|
||||||
(
|
|
||||||
ZCLink& AR_CutHead, ZCLink& AR_CutTail,
|
|
||||||
TypeSize AI_CutSize, ZCLinkOpt AO_LinkOpt
|
|
||||||
)
|
|
||||||
/*#####################################################################*/
|
|
||||||
{
|
|
||||||
return SendRangeIn
|
|
||||||
( AR_CutHead, AR_CutTail, AI_CutSize, AO_LinkOpt, true );
|
|
||||||
}
|
|
||||||
/*#####################################################################*/
|
|
||||||
ZtCObjList& SendRangeInBefore ///////////////////////////////////////////
|
|
||||||
(
|
|
||||||
ZCLink& AR_CutHead, ZCLink& AR_CutTail,
|
|
||||||
TypeSize AI_CutSize, ZCLinkOpt AO_LinkOpt
|
|
||||||
)
|
|
||||||
/*#####################################################################*/
|
|
||||||
{
|
|
||||||
return SendRangeIn
|
|
||||||
( AR_CutHead, AR_CutTail, AI_CutSize, AO_LinkOpt, false);
|
|
||||||
}
|
|
||||||
/*#####################################################################*/
|
|
||||||
|
|
||||||
ZtCObjList& SendRangeInHead /////////////////////////////////////////////
|
|
||||||
(
|
|
||||||
ZCLink& AR_CutHead, ZCLink& AR_CutTail,
|
|
||||||
TypeSize AI_CutSize, ZCLinkOpt AO_LinkOpt
|
|
||||||
)
|
|
||||||
/*#####################################################################*/
|
|
||||||
{
|
|
||||||
return SendRangeIn
|
|
||||||
( AR_CutHead, AR_CutTail, AI_CutSize, ZCLinkOpt(0), true );
|
|
||||||
}
|
|
||||||
/*#####################################################################*/
|
|
||||||
ZtCObjList& SendRangeInTail ////////////////////////////////////////////
|
|
||||||
(
|
|
||||||
ZCLink& AR_CutHead, ZCLink& AR_CutTail,
|
|
||||||
TypeSize AI_CutSize, ZCLinkOpt AO_LinkOpt
|
|
||||||
)
|
|
||||||
/*#####################################################################*/
|
|
||||||
{
|
|
||||||
return SendRangeIn
|
|
||||||
( AR_CutHead, AR_CutTail, AI_CutSize, ZCLinkOpt(0), false);
|
|
||||||
}
|
|
||||||
/*#####################################################################*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TypeThis& CopyThis(TypeThis& ARR_Rhs) const
|
TypeThis& CopyThis(TypeThis& ARR_Rhs) const
|
||||||
{
|
{
|
||||||
|
@ -314,6 +314,18 @@ namespace ZNsMain
|
|||||||
VO_CDataList1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
VO_CDataList1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||||
cout<<"***********************************************"<<endl;
|
cout<<"***********************************************"<<endl;
|
||||||
|
|
||||||
|
|
||||||
|
VO_CDataList1.MoveRangeIn
|
||||||
|
(
|
||||||
|
VO_CDataList1.HeadRef( ),
|
||||||
|
VO_CDataList1.HeadRef(1),
|
||||||
|
VO_CDataList1.HeadRef(2),
|
||||||
|
false
|
||||||
|
);
|
||||||
|
cout<<"# after VO_CDataList1.MoveRangeIn(1th, 2th, 3th, before)"<<endl;
|
||||||
|
VO_CDataList1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||||
|
cout<<"***********************************************"<<endl;
|
||||||
|
|
||||||
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