commit 2025-10-11 21:30 add ZtCBaseList::SendRangeIn() etc : ZCppMain/ZMainHead.H
This commit is contained in:
@ -7060,11 +7060,13 @@ namespace ZNsMain
|
|||||||
if(VP_StdLink==mp_TailLink)
|
if(VP_StdLink==mp_TailLink)
|
||||||
{ mp_TailLink=rhs.mp_TailLink; }
|
{ mp_TailLink=rhs.mp_TailLink; }
|
||||||
|
|
||||||
|
ml_LinkSize += rhs.ml_LinkSize;
|
||||||
|
|
||||||
rhs.mp_HeadLink =0 ;
|
rhs.mp_HeadLink =0 ;
|
||||||
rhs.mp_TailLink =0 ;
|
rhs.mp_TailLink =0 ;
|
||||||
rhs.ml_LinkSize =0 ;
|
rhs.ml_LinkSize =0 ;
|
||||||
|
|
||||||
ml_LinkSize += rhs.ml_LinkSize; return *this;
|
return *this; /*:::::::::::::*/
|
||||||
}/*
|
}/*
|
||||||
ZtCBaseList& JoinAfter(TypeThis& rhs, ZCLinkOpt AO_StdOpt)*/
|
ZtCBaseList& JoinAfter(TypeThis& rhs, ZCLinkOpt AO_StdOpt)*/
|
||||||
|
|
||||||
@ -7112,11 +7114,13 @@ namespace ZNsMain
|
|||||||
if(VP_StdLink==mp_HeadLink)
|
if(VP_StdLink==mp_HeadLink)
|
||||||
{ mp_HeadLink = rhs.mp_HeadLink; }
|
{ mp_HeadLink = rhs.mp_HeadLink; }
|
||||||
|
|
||||||
|
ml_LinkSize += rhs.ml_LinkSize;
|
||||||
|
|
||||||
rhs.mp_HeadLink =0 ;
|
rhs.mp_HeadLink =0 ;
|
||||||
rhs.mp_TailLink =0 ;
|
rhs.mp_TailLink =0 ;
|
||||||
rhs.ml_LinkSize =0 ;
|
rhs.ml_LinkSize =0 ;
|
||||||
|
|
||||||
ml_LinkSize += rhs.ml_LinkSize; return *this;
|
return *this; /*:::::::::::::*/
|
||||||
}/*
|
}/*
|
||||||
ZtCBaseList& JoinBefore(TypeThis& rhs, ZCLinkOpt AO_StdOpt)*/
|
ZtCBaseList& JoinBefore(TypeThis& rhs, ZCLinkOpt AO_StdOpt)*/
|
||||||
|
|
||||||
@ -7385,14 +7389,8 @@ namespace ZNsMain
|
|||||||
rhs , AO_LinkOpt.Raw(), AB_After
|
rhs , AO_LinkOpt.Raw(), AB_After
|
||||||
);
|
);
|
||||||
/***********************************************/
|
/***********************************************/
|
||||||
}/*
|
}
|
||||||
ZtCBaseList& SendRangeOut ///////////////////////////////////////////////
|
/*#####################################################################*/
|
||||||
(
|
|
||||||
ZCLink& AR_CutHead, ZCLink& AR_CutTail,
|
|
||||||
TypeSize AI_CutSize, TypeThis& rhs ,
|
|
||||||
ZCLinkOpt AO_LinkOpt, bool AB_After
|
|
||||||
)
|
|
||||||
#######################################################################*/
|
|
||||||
|
|
||||||
|
|
||||||
ZtCBaseList& SendRangeOutAfter //////////////////////////////////////////
|
ZtCBaseList& SendRangeOutAfter //////////////////////////////////////////
|
||||||
@ -7424,13 +7422,82 @@ namespace ZNsMain
|
|||||||
AR_CutHead, AR_CutTail, AI_CutSize, rhs, AO_LinkOpt.Raw(), false
|
AR_CutHead, AR_CutTail, AI_CutSize, rhs, AO_LinkOpt.Raw(), false
|
||||||
);
|
);
|
||||||
//////////////////////
|
//////////////////////
|
||||||
}/*
|
}
|
||||||
ZtCBaseList& SendRangeOutBefore /////////////////////////////////////////
|
/*#####################################################################*/
|
||||||
|
|
||||||
|
|
||||||
|
ZtCBaseList& SendRangeIn ////////////////////////////////////////////////
|
||||||
(
|
(
|
||||||
ZCLink& AR_CutHead, ZCLink& AR_CutTail,
|
ZCLink& AR_CutHead, ZCLink& AR_CutTail,
|
||||||
TypeSize AI_CutSize, TypeThis& rhs , ZCLinkOpt AO_LinkOpt
|
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
|
||||||
|
@ -647,6 +647,28 @@ 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.SendRangeInAfter(1th~3th => 6th)"<<endl;
|
||||||
|
VO_ZCBaseListEx10_2.SendRangeInAfter
|
||||||
|
(
|
||||||
|
VO_ZCBaseListEx10_2.HeadRef( ),
|
||||||
|
VO_ZCBaseListEx10_2.HeadRef(2),
|
||||||
|
3,
|
||||||
|
VO_ZCBaseListEx10_2.HeadOpt(5)
|
||||||
|
);
|
||||||
|
cout<<"*****************************************************"<<endl;
|
||||||
|
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||||
|
|
||||||
|
cout<<endl<<"# after VO_ZCBaseListEx10_2.SendRangeInBefore(4th~6th => 1th)"<<endl;
|
||||||
|
VO_ZCBaseListEx10_2.SendRangeInBefore
|
||||||
|
(
|
||||||
|
VO_ZCBaseListEx10_2.HeadRef(3),
|
||||||
|
VO_ZCBaseListEx10_2.HeadRef(5),
|
||||||
|
3,
|
||||||
|
VO_ZCBaseListEx10_2.HeadOpt( )
|
||||||
|
);
|
||||||
|
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