commit 2025-10-07 19:40 add CopyThis() in ZCppMain/ZtCLinkList.H

This commit is contained in:
2025-10-07 19:40:21 +09:00
parent 3db771e9d9
commit 5f707743a4
5 changed files with 126 additions and 8 deletions

View File

@ -1856,6 +1856,33 @@ namespace ZNsMain
/*#####################################################################*/
TypeThis& CopyThis(TypeThis& ARR_Rhs)
{
// *this 를 복사해서, ARR_Rhs 의 끝에 연결한다.
if(size()<1) return ARR_Rhs;
ZCLink* VP_HeadCopy=0;
ZCLink* VP_TailCopy=0;
SendFreeOutCopy ////////////////////////
(
mp_HeadLink , size()-1,
RR(VP_HeadCopy), RR(VP_TailCopy)
);
////////////////////////////////////////
TypeThis VO_TempList;
VO_TempList.mp_HeadLink=VP_HeadCopy;
VO_TempList.mp_TailLink=VP_TailCopy;
VO_TempList.ml_LinkSize=size() ;
ARR_Rhs.JoinTail(VO_TempList); return *this;
}/*
TypeThis& CopyThis(TypeThis& ARR_Rhs)*/
template<typename TFunctor> void IterElement(TFunctor AO_Functor)
{
ZCLink* VP_LoopLink=mp_HeadLink;
@ -2740,6 +2767,37 @@ namespace ZNsMain
/*#####################################################################*/
TypeThis& CopyThis(TypeThis& ARR_Rhs)
{
// *this 를 복사해서, ARR_Rhs 의 끝에 연결한다.
if(size()<1) return ARR_Rhs;
ZCLink* VP_HeadCopy=0;
ZCLink* VP_TailCopy=0;
SendFreeOutCopy ////////////////////////////////
(
mo_HeadFake.mp_NextLink, size()-1,
RR(VP_HeadCopy) , RR(VP_TailCopy)
);
////////////////////////////////////////////////
TypeThis VO_TempList;
ZCLink::JoinLink
( &VO_TempList.mo_HeadFake, VP_HeadCopy );
ZCLink::JoinLink
( VP_TailCopy, &VO_TempList.mo_TailFake );
VO_TempList.ml_LinkSize = size() ;
ARR_Rhs.JoinTail(VO_TempList); return *this;
}/*
TypeThis& CopyThis(TypeThis& ARR_Rhs)*/
template<typename TFunctor> void IterElement(TFunctor AO_Functor)
{
ZCLink* VP_LoopLink=mo_HeadFake.mp_NextLink;