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)
|
||||
{ mp_TailLink=rhs.mp_TailLink; }
|
||||
|
||||
ml_LinkSize += rhs.ml_LinkSize;
|
||||
|
||||
rhs.mp_HeadLink =0 ;
|
||||
rhs.mp_TailLink =0 ;
|
||||
rhs.ml_LinkSize =0 ;
|
||||
|
||||
ml_LinkSize += rhs.ml_LinkSize; return *this;
|
||||
return *this; /*:::::::::::::*/
|
||||
}/*
|
||||
ZtCBaseList& JoinAfter(TypeThis& rhs, ZCLinkOpt AO_StdOpt)*/
|
||||
|
||||
@ -7112,11 +7114,13 @@ namespace ZNsMain
|
||||
if(VP_StdLink==mp_HeadLink)
|
||||
{ mp_HeadLink = rhs.mp_HeadLink; }
|
||||
|
||||
ml_LinkSize += rhs.ml_LinkSize;
|
||||
|
||||
rhs.mp_HeadLink =0 ;
|
||||
rhs.mp_TailLink =0 ;
|
||||
rhs.ml_LinkSize =0 ;
|
||||
|
||||
ml_LinkSize += rhs.ml_LinkSize; return *this;
|
||||
return *this; /*:::::::::::::*/
|
||||
}/*
|
||||
ZtCBaseList& JoinBefore(TypeThis& rhs, ZCLinkOpt AO_StdOpt)*/
|
||||
|
||||
@ -7385,14 +7389,8 @@ namespace ZNsMain
|
||||
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 //////////////////////////////////////////
|
||||
@ -7424,13 +7422,82 @@ namespace ZNsMain
|
||||
AR_CutHead, AR_CutTail, AI_CutSize, rhs, AO_LinkOpt.Raw(), false
|
||||
);
|
||||
//////////////////////
|
||||
}/*
|
||||
ZtCBaseList& SendRangeOutBefore /////////////////////////////////////////
|
||||
}
|
||||
/*#####################################################################*/
|
||||
|
||||
|
||||
ZtCBaseList& SendRangeIn ////////////////////////////////////////////////
|
||||
(
|
||||
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
|
||||
|
@ -647,6 +647,28 @@ namespace ZNsMain
|
||||
cout<<"*****************************************************"<<endl;
|
||||
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;
|
||||
}/*
|
||||
static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)*/
|
||||
|
Reference in New Issue
Block a user