commit 2025-10-07 21:31 CopyThis() => CopyThis() const : ZCppMain/ZtCLinkList.H

This commit is contained in:
2025-10-07 21:31:41 +09:00
parent 34b5db2822
commit 3eec5443ab
5 changed files with 82 additions and 61 deletions

View File

@ -4065,11 +4065,11 @@ namespace ZNsMain
{ } //////////////////////////////////////
_NP_ void SendFreeOutCopy /*////////////////////////////*/
_NP_ void SendFreeOutCopy /*//////////////////////*/
(
ZCLink* AP_LinkOrgin, TypeSize AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
) const
{ } /*//////////////////////////////////////////////////*/
@ -4217,7 +4217,7 @@ namespace ZNsMain
(
ZCLink* AP_LinkOrgin, TypeSize AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
) const
//////////////////////////////////////////////////////////
{
// 총 AL_FarNum+1 개의 링크가 만들어짊.
@ -4244,11 +4244,11 @@ namespace ZNsMain
APR_TailCopy=VP_TailLink;
}/*
_NP_ void SendFreeOutCopy //////////////////////////////
_NP_ void SendFreeOutCopy ////////////////////////////////
(
ZCLink* AP_LinkOrgin, TypeSize AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
) const
////////////////////////////////////////////////////////*/
@ -4352,7 +4352,7 @@ namespace ZNsMain
(
ZCLink* AP_LinkOrgin, TypeSize AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
) const
//////////////////////////////////////////////////////////
{
// 총 AL_FarNum+1 개의 링크가 만들어짊
@ -4379,11 +4379,11 @@ namespace ZNsMain
APR_TailCopy=VP_TailLink;
}/*
_NP_ void SendFreeOutCopy //////////////////////////////
_NP_ void SendFreeOutCopy ////////////////////////////////
(
ZCLink* AP_LinkOrgin, TypeSize AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
) const
////////////////////////////////////////////////////////*/
@ -5447,6 +5447,12 @@ namespace ZNsMain
}/*
TypeChild& GetChildObj()*/
const TypeChild& GetChildObj() const
{
return *static_cast<const TypeChild*>(this);
}/*
const TypeChild& GetChildObj() const*/
protected:
ZCLink* NewLink()
@ -5501,7 +5507,7 @@ namespace ZNsMain
(
ZCLink* AP_LinkOrgin, TypeSize AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
) const
/////////////////////////////////////////////////////
{
// 총 AL_FarNum+1 개의 링크가 만들어짊
@ -5532,7 +5538,7 @@ namespace ZNsMain
(
ZCLink* AP_LinkOrgin, TypeSize AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
) const
///////////////////////////////////////////////////*/
@ -5602,25 +5608,30 @@ namespace ZNsMain
(
ZCLink* AP_LinkOrgin, TypeSize AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
) const
/////////////////////////////////////////////////////
{
// 총 AL_FarNum+1 개의 링크가 만들어짊
if(TTypeCRTP::ZEUseCRTP<1)
{
NewLinkCopy(AP_LinkOrgin, AL_FarNum, APR_HeadCopy, APR_TailCopy); return;
NewLinkCopy /*::::::::::::::::::*/
(
AP_LinkOrgin, AL_FarNum ,
APR_HeadCopy, APR_TailCopy
);
return; /*::::::::::::::::::*/
}/*
if(TTypeCRTP::ZEUseCRTP<1)*/
return GetChildObj().SendFreeOutCopy
(AP_LinkOrgin, AL_FarNum, RR(APR_HeadCopy), RR(APR_TailCopy));
}/*
_VT_ void SendFreeOutCopy /////////////////////////
_VT_ void SendFreeOutCopy ///////////////////////////
(
ZCLink* AP_LinkOrgin, TypeSize AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
) const
///////////////////////////////////////////////////*/
@ -6444,7 +6455,7 @@ namespace ZNsMain
/*#####################################################################*/
TypeThis& CopyThis(TypeThis& ARR_Rhs)
TypeThis& CopyThis(TypeThis& ARR_Rhs) const
{
// *this 를 복사해서, ARR_Rhs 의 끝에 연결한다.
@ -6462,13 +6473,13 @@ namespace ZNsMain
TypeThis VO_TempList;
VO_TempList.mp_HeadLink=VP_HeadCopy;
VO_TempList.mp_TailLink=VP_TailCopy;
VO_TempList.ml_LinkSize=size() ;
VO_TempList.mp_HeadLink=VP_HeadCopy ;
VO_TempList.mp_TailLink=VP_TailCopy ;
VO_TempList.ml_LinkSize=size() ;
ARR_Rhs.JoinTail(VO_TempList); return *this;
return ARR_Rhs.JoinTail(VO_TempList);
}/*
TypeThis& CopyThis(TypeThis& ARR_Rhs)*/
TypeThis& CopyThis(TypeThis& ARR_Rhs) const*/

View File

@ -1066,7 +1066,7 @@ namespace ZNsMain
(
ZCLink* AP_LinkOrgin, TypeSize AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
) const
/////////////////////////////////////////////////////
{
// 총 AL_FarNum+1 개의 링크가 만들어짊
@ -1097,7 +1097,7 @@ namespace ZNsMain
(
ZCLink* AP_LinkOrgin, TypeSize AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
) const
///////////////////////////////////////////////////*/
@ -1176,25 +1176,30 @@ namespace ZNsMain
(
ZCLink* AP_LinkOrgin, TypeSize AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
) const
/////////////////////////////////////////////////////
{
// 총 AL_FarNum+1 개의 링크가 만들어짊
if(TTypeCRTP::ZEUseCRTP<1)
{
NewLinkCopy(AP_LinkOrgin, AL_FarNum, APR_HeadCopy, APR_TailCopy); return;
NewLinkCopy /*:::::::::::::::::::*/
(
AP_LinkOrgin, AL_FarNum ,
APR_HeadCopy, APR_TailCopy
);
return ; /*:::::::::::::::::::*/
}/*
if(TTypeCRTP::ZEUseCRTP<1)*/
return GetChildObj().SendFreeOutCopy
(AP_LinkOrgin, AL_FarNum, RR(APR_HeadCopy), RR(APR_TailCopy));
}/*
_VT_ void SendFreeOutCopy /////////////////////////
_VT_ void SendFreeOutCopy ///////////////////////////
(
ZCLink* AP_LinkOrgin, TypeSize AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
) const
///////////////////////////////////////////////////*/
@ -1856,7 +1861,7 @@ namespace ZNsMain
/*#####################################################################*/
TypeThis& CopyThis(TypeThis& ARR_Rhs)
TypeThis& CopyThis(TypeThis& ARR_Rhs) const
{
// *this 를 복사해서, ARR_Rhs 의 끝에 연결한다.
@ -1874,13 +1879,13 @@ namespace ZNsMain
TypeThis VO_TempList;
VO_TempList.mp_HeadLink=VP_HeadCopy;
VO_TempList.mp_TailLink=VP_TailCopy;
VO_TempList.ml_LinkSize=size() ;
VO_TempList.mp_HeadLink= VP_HeadCopy;
VO_TempList.mp_TailLink= VP_TailCopy;
VO_TempList.ml_LinkSize= size() ;
ARR_Rhs.JoinTail(VO_TempList); return *this;
return ARR_Rhs.JoinTail(VO_TempList);
}/*
TypeThis& CopyThis(TypeThis& ARR_Rhs)*/
TypeThis& CopyThis(TypeThis& ARR_Rhs) const*/
template<typename TFunctor> void IterElement(TFunctor AO_Functor)
@ -2136,7 +2141,7 @@ namespace ZNsMain
(
ZCLink* AP_LinkOrgin, TypeSize AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
) const
/////////////////////////////////////////////////////
{
// 총 AL_FarNum+1 개의 링크가 만들어짊
@ -2167,7 +2172,7 @@ namespace ZNsMain
(
ZCLink* AP_LinkOrgin, TypeSize AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
) const
///////////////////////////////////////////////////*/
@ -2246,25 +2251,30 @@ namespace ZNsMain
(
ZCLink* AP_LinkOrgin, TypeSize AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
) const
/////////////////////////////////////////////////////
{
// 총 AL_FarNum+1 개의 링크가 만들어짊
if(TTypeCRTP::ZEUseCRTP<1)
{
NewLinkCopy(AP_LinkOrgin, AL_FarNum, APR_HeadCopy, APR_TailCopy); return;
NewLinkCopy /*::::::::::::::::::::::::*/
(
AP_LinkOrgin, AL_FarNum ,
APR_HeadCopy, APR_TailCopy
);
return; /*::::::::::::::::::::::::*/
}/*
if(TTypeCRTP::ZEUseCRTP<1)*/
return GetChildObj().SendFreeOutCopy
(AP_LinkOrgin, AL_FarNum, RR(APR_HeadCopy), RR(APR_TailCopy));
}/*
_VT_ void SendFreeOutCopy /////////////////////////
_VT_ void SendFreeOutCopy ///////////////////////////
(
ZCLink* AP_LinkOrgin, TypeSize AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
) const
///////////////////////////////////////////////////*/
@ -2767,7 +2777,7 @@ namespace ZNsMain
/*#####################################################################*/
TypeThis& CopyThis(TypeThis& ARR_Rhs)
TypeThis& CopyThis(TypeThis& ARR_Rhs) const
{
// *this 를 복사해서, ARR_Rhs 의 끝에 연결한다.
@ -2792,9 +2802,9 @@ namespace ZNsMain
VO_TempList.ml_LinkSize = size() ;
ARR_Rhs.JoinTail(VO_TempList); return *this;
return ARR_Rhs.JoinTail(VO_TempList);
}/*
TypeThis& CopyThis(TypeThis& ARR_Rhs)*/
TypeThis& CopyThis(TypeThis& ARR_Rhs) const*/

View File

@ -1438,11 +1438,11 @@ namespace ZNsMain
/////////////////////////////////////////////////////////*/
if(ARR_StoreList.IsEmpty()!=true)
if(ARR_Rhs.IsEmpty()!=true)
{
return ARR_StoreList;
return ARR_Rhs;
}/*
if(ARR_StoreList.IsEmpty()!=true)*/
if(ARR_Rhs.IsEmpty()!=true)*/
ZCLink* VP_HeadLink=0;
ZCLink* VP_TailLink=0;
@ -1466,12 +1466,12 @@ namespace ZNsMain
return ARR_Rhs.JoinTail(VO_TempList);
}/*
ZtCObjList& CopyLink ###########################################################
ZtCObjList& CopyLink ############################################################
(
const ZCLink* AP_CopyLink ,
TypeSize AL_FarNum ,
TypeThis& ARR_Rhs
) const
) const
###############################################################################*/
@ -1513,7 +1513,7 @@ namespace ZNsMain
TypeSize AL_LinkSize, ZCLink*& APR_HeadLink, ZCLink*& APR_TailLink) const */
void GetManyLinkCopy /*#######################################################*/
void GetManyLinkCopy /*########################################################*/
(
ZCLink* AP_CopyLink , TypeSize AL_FarNum ,
ZCLink*& APR_HeadLink, ZCLink*& APR_TailLink
@ -1525,7 +1525,7 @@ namespace ZNsMain
mo_FreeObjt.SendFreeOutCopy
(AP_CopyLink, AL_FarNum, RR(APR_HeadLink), RR(APR_TailLink));
}/*
void GetManyLinkCopy ###########################################################
void GetManyLinkCopy ############################################################
(
ZCLink* AP_CopyLink , TypeSize AL_FarNum ,
ZCLink*& APR_HeadLink, ZCLink*& APR_TailLink

View File

@ -977,18 +977,18 @@ namespace ZNsMain
///////////////////////////////////////////////////////////////
ZtCSimList& CopyLink /*######################################*/
ZtCSimList& CopyLink const /*################################*/
(
const ZCLink* const AP_CopyLink ,
TTypSize AL_FarNum ,
ZtCSimList& ARR_StoreList
ZtCSimList& ARR_Rhs
) const
/*###########################################################*/
{
// AP_CopyLink 부터 AP_CopyLink->GetNextPrePtr(AL_FarNum)
// 링크까지를 복사한다. 총 AL_FarNum + 1 개의 링크가 만들어진다.
//
// ARR_StoreList.size() 는 0 이어야 한다.
// ARR_Rhs.size() 는 0 이어야 한다.
ZCLink* VP_HeadLink=0;
ZCLink* VP_TailLink=0;
@ -1004,17 +1004,17 @@ namespace ZNsMain
ZCLink::MakeRing(VP_HeadLink, VP_TailLink);
ARR_StoreList.mp_HeadLink= VP_HeadLink ;
ARR_StoreList.mp_TailLink= VP_TailLink ;
ARR_StoreList.ml_LinkSize= AL_FarNum+1 ;
ARR_Rhs.mp_HeadLink= VP_HeadLink ;
ARR_Rhs.mp_TailLink= VP_TailLink ;
ARR_Rhs.ml_LinkSize= AL_FarNum+1 ;
return ARR_StoreList;
return ARR_Rhs;
}/*
ZtCSimList& CopyLink ##########################################
(
const ZCLink* const AP_CopyLink ,
TTypSize AL_FarNum ,
ZtCSimList& ARR_StoreList
ZtCSimList& ARR_Rhs
) const
#############################################################*/
@ -1082,12 +1082,12 @@ namespace ZNsMain
else
{
AP_PrevLink->mp_NextLink=AP_CutLink->mp_NextLink;
}
//else
}/*
else*/
return (--ml_LinkSize, AP_CutLink);
}
//ZCLink* CutLink(ZCLink* AP_PrevLink, ZCLink* AP_CutLink, TTypSize AL_CutPos)
}/*
ZCLink* CutLink(ZCLink* AP_PrevLink, ZCLink* AP_CutLink, TTypSize AL_CutPos)*/
ZtCSimList& CutLink /*###############################*/

View File

@ -157,7 +157,7 @@ namespace ZNsMain
(
ZCLink* AP_LinkOrgin, ZTypLong AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
) const
/////////////////////////////////////////////////////
{
cout<<"** ZCBaseListEx10 : SendFreeOut(ZCLink*, "<<AL_FarNum<<", ZCLink*&, ZCLink*&)"<<endl;