commit 2025-09-14 12:37 apply ZNsIFaceEx::ZtCFreeHeapCDL<ZNsConst::CI_ListKind_Double> in ZCppMain/ZtCObjList.H
This commit is contained in:
@ -3906,6 +3906,18 @@ namespace ZNsMain
|
|||||||
public:
|
public:
|
||||||
typedef typename TSnglList::ZCLink ZCLink ;
|
typedef typename TSnglList::ZCLink ZCLink ;
|
||||||
typedef typename TSnglList::TypeSize TypeSize;
|
typedef typename TSnglList::TypeSize TypeSize;
|
||||||
|
|
||||||
|
/*:::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
|
|
||||||
|
■ 만약 ZCLink 의 non-public 멤버에 접근해야 하는 경우,
|
||||||
|
ZCLink 에서 ZtCBody 에 friend 선언을 해줘야 하는 것
|
||||||
|
이 맞겠지만, friend 선언 없이 해야 한다면, ZCLink 와
|
||||||
|
같은 멤버를 가진 class 를 선언하고 그 class 로 강제
|
||||||
|
형변환을 해서 해결하자.
|
||||||
|
|
||||||
|
-- 2025-09-14 12:34
|
||||||
|
|
||||||
|
:::::::::::::::::::::::::::::::::::::::::::::::::::*/
|
||||||
public:
|
public:
|
||||||
|
|
||||||
void RecvFreeIn(ZCLink* AP_CutLink){delete AP_CutLink;}
|
void RecvFreeIn(ZCLink* AP_CutLink){delete AP_CutLink;}
|
||||||
|
@ -850,9 +850,12 @@ namespace ZNsMain
|
|||||||
protected:
|
protected:
|
||||||
ZCLink* mp_HeadLink;
|
ZCLink* mp_HeadLink;
|
||||||
TypeSize ml_Size ;
|
TypeSize ml_Size ;
|
||||||
|
ZCFreeHeap mo_FreeObjt;
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
|
||||||
|
#if(_CODE_OLD_)
|
||||||
|
|
||||||
void OnDelete(ZCLink* AP_CutLink)
|
void OnDelete(ZCLink* AP_CutLink)
|
||||||
{
|
{
|
||||||
if(TypeInit::ZEUseFini<1) return;
|
if(TypeInit::ZEUseFini<1) return;
|
||||||
@ -906,6 +909,8 @@ namespace ZNsMain
|
|||||||
}
|
}
|
||||||
/*############################################################*/
|
/*############################################################*/
|
||||||
|
|
||||||
|
#endif //_CODE_OLD_
|
||||||
|
|
||||||
|
|
||||||
void JoinAfter(ZCLink* AP_LinkInsert, ZCLink* AP_LinkStd, TypeSize AL_PosStd)
|
void JoinAfter(ZCLink* AP_LinkInsert, ZCLink* AP_LinkStd, TypeSize AL_PosStd)
|
||||||
{
|
{
|
||||||
@ -914,7 +919,9 @@ namespace ZNsMain
|
|||||||
|
|
||||||
if(AP_LinkStd==0)
|
if(AP_LinkStd==0)
|
||||||
{
|
{
|
||||||
|
#if(_CODE_OLD_)
|
||||||
OnInsert(1, 1, AP_LinkInsert);
|
OnInsert(1, 1, AP_LinkInsert);
|
||||||
|
#endif
|
||||||
|
|
||||||
if(++ml_Size==1)
|
if(++ml_Size==1)
|
||||||
{
|
{
|
||||||
@ -935,7 +942,11 @@ namespace ZNsMain
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
OnInsert(AL_PosStd+1, 1, AP_LinkInsert); ++ml_Size;
|
#if(_CODE_OLD_)
|
||||||
|
OnInsert(AL_PosStd+1, 1, AP_LinkInsert);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
++ml_Size;
|
||||||
|
|
||||||
AP_LinkInsert->mp_NextLink = AP_LinkStd->mp_NextLink ;
|
AP_LinkInsert->mp_NextLink = AP_LinkStd->mp_NextLink ;
|
||||||
AP_LinkStd ->mp_NextLink = AP_LinkInsert ;
|
AP_LinkStd ->mp_NextLink = AP_LinkInsert ;
|
||||||
@ -972,6 +983,7 @@ namespace ZNsMain
|
|||||||
if(this == &AO_CObjList ) return;
|
if(this == &AO_CObjList ) return;
|
||||||
if(AO_CObjList.ml_Size<1) return;
|
if(AO_CObjList.ml_Size<1) return;
|
||||||
|
|
||||||
|
#if(_CODE_OLD_)
|
||||||
AO_CObjList.OnDelete ////////////////////////
|
AO_CObjList.OnDelete ////////////////////////
|
||||||
(
|
(
|
||||||
AO_CObjList.mp_HeadLink , 1 ,
|
AO_CObjList.mp_HeadLink , 1 ,
|
||||||
@ -984,6 +996,7 @@ namespace ZNsMain
|
|||||||
this->ml_Size+1, AO_CObjList.ml_Size, AO_CObjList.mp_HeadLink
|
this->ml_Size+1, AO_CObjList.ml_Size, AO_CObjList.mp_HeadLink
|
||||||
);
|
);
|
||||||
/*/////////////////////////////////////////*/
|
/*/////////////////////////////////////////*/
|
||||||
|
#endif //_CODE_OLD_
|
||||||
|
|
||||||
if(AP_LinkStd==0)
|
if(AP_LinkStd==0)
|
||||||
{
|
{
|
||||||
@ -1024,7 +1037,9 @@ namespace ZNsMain
|
|||||||
|
|
||||||
protected: ZCLink* CutLink(ZCLink* AP_CutLink)
|
protected: ZCLink* CutLink(ZCLink* AP_CutLink)
|
||||||
{
|
{
|
||||||
|
#if(_CODE_OLD_)
|
||||||
OnDelete(AP_CutLink);
|
OnDelete(AP_CutLink);
|
||||||
|
#endif
|
||||||
|
|
||||||
if(AP_CutLink==mp_HeadLink)
|
if(AP_CutLink==mp_HeadLink)
|
||||||
{
|
{
|
||||||
@ -1052,7 +1067,9 @@ namespace ZNsMain
|
|||||||
|
|
||||||
ZCLink* CutLink(ZCLink* AP_CutLink, TypeSize AL_CutPos)
|
ZCLink* CutLink(ZCLink* AP_CutLink, TypeSize AL_CutPos)
|
||||||
{
|
{
|
||||||
|
#if(_CODE_OLD_)
|
||||||
OnDelete(AP_CutLink, AL_CutPos, AP_CutLink, AL_CutPos);
|
OnDelete(AP_CutLink, AL_CutPos, AP_CutLink, AL_CutPos);
|
||||||
|
#endif
|
||||||
|
|
||||||
if(AL_CutPos==1) // 첫째 링크를 삭제.
|
if(AL_CutPos==1) // 첫째 링크를 삭제.
|
||||||
{
|
{
|
||||||
@ -1107,8 +1124,9 @@ namespace ZNsMain
|
|||||||
|
|
||||||
#endif // _DEBUG
|
#endif // _DEBUG
|
||||||
|
|
||||||
|
#if(_CODE_OLD_)
|
||||||
OnDelete(AP_CutHead, AL_CutHeadPos, AP_CutTail, AL_CutTailPos);
|
OnDelete(AP_CutHead, AL_CutHeadPos, AP_CutTail, AL_CutTailPos);
|
||||||
|
#endif
|
||||||
|
|
||||||
if(AL_CutHeadPos==1 && AL_CutTailPos==ml_Size) // 모든 링크를 삭제할 때.
|
if(AL_CutHeadPos==1 && AL_CutTailPos==ml_Size) // 모든 링크를 삭제할 때.
|
||||||
{
|
{
|
||||||
@ -1243,9 +1261,8 @@ namespace ZNsMain
|
|||||||
ZCLink* VP_TailLink=0;
|
ZCLink* VP_TailLink=0;
|
||||||
|
|
||||||
GetManyLink
|
GetManyLink
|
||||||
(AL_DefaultSize, VP_HeadLink, VP_TailLink);
|
(AL_DefaultSize, RR(VP_HeadLink), RR(VP_TailLink));
|
||||||
ZCLink::MakeCircle
|
ZCLink::MakeCircle( VP_HeadLink, VP_TailLink );
|
||||||
(VP_HeadLink , VP_TailLink );
|
|
||||||
|
|
||||||
ARR_StoreList.mp_HeadLink=VP_HeadLink ;
|
ARR_StoreList.mp_HeadLink=VP_HeadLink ;
|
||||||
ARR_StoreList.ml_Size =AL_DefaultSize;
|
ARR_StoreList.ml_Size =AL_DefaultSize;
|
||||||
@ -1257,26 +1274,13 @@ namespace ZNsMain
|
|||||||
|
|
||||||
|
|
||||||
void GetManyLink(
|
void GetManyLink(
|
||||||
TypeSize AL_LinkSize , ZCLink*& APR_HeadLink, ZCLink*& APR_TailLink) const
|
TypeSize AL_LinkSize, ZCLink*& APR_HeadLink, ZCLink*& APR_TailLink) const
|
||||||
{
|
{
|
||||||
#ifdef _DEBUG
|
mo_FreeObjt.SendFreeOut
|
||||||
ZNsMain::ZCCheckAlloc::ZCAllowAlloc VO_CAllowAllocObj;
|
(AL_LinkSize, RR(APR_HeadLink), RR(APR_TailLink));
|
||||||
#endif //_DEBUG
|
|
||||||
|
|
||||||
APR_HeadLink=new ZCLink; ZCLink* VP_TempLink=APR_HeadLink;
|
|
||||||
|
|
||||||
for(TypeSize i=2; i<=AL_LinkSize; ++i)
|
|
||||||
{
|
|
||||||
ZCLink::JoinLink(VP_TempLink, new ZCLink);
|
|
||||||
|
|
||||||
VP_TempLink=VP_TempLink->mp_NextLink;
|
|
||||||
}/*
|
|
||||||
for(TypeSize i=2; i<=AL_LinkSize; ++i)*/
|
|
||||||
|
|
||||||
APR_TailLink=VP_TempLink;
|
|
||||||
}/*
|
}/*
|
||||||
void GetManyLink(
|
void GetManyLink(
|
||||||
TypeSize AL_LinkSize , ZCLink*& APR_HeadLink, ZCLink*& APR_TailLink) const */
|
TypeSize AL_LinkSize, ZCLink*& APR_HeadLink, ZCLink*& APR_TailLink) const */
|
||||||
|
|
||||||
|
|
||||||
void GetManyLinkCopy /*#######################################################*/
|
void GetManyLinkCopy /*#######################################################*/
|
||||||
@ -1288,51 +1292,8 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
// AL_FarNum 의 절대값 + 1 개의 링크가 생성된다.
|
// AL_FarNum 의 절대값 + 1 개의 링크가 생성된다.
|
||||||
|
|
||||||
#ifdef _DEBUG
|
mo_FreeObjt.SendFreeOutCopy
|
||||||
ZNsMain::ZCCheckAlloc::ZCAllowAlloc VO_CAllowAllocObj;
|
(AP_CopyLink, AL_FarNum, RR(APR_HeadLink), RR(APR_TailLink));
|
||||||
#endif //_DEBUG
|
|
||||||
|
|
||||||
if(AL_FarNum>0)
|
|
||||||
{
|
|
||||||
APR_HeadLink = new
|
|
||||||
ZCLink(AP_CopyLink->GetData());
|
|
||||||
|
|
||||||
ZCLink* VP_TempLink=APR_HeadLink;
|
|
||||||
|
|
||||||
for(TypeSize i=1; i<=AL_FarNum; ++i) /*<<<<<<<<<<<<<<<<<*/
|
|
||||||
{
|
|
||||||
AP_CopyLink=AP_CopyLink->mp_NextLink;
|
|
||||||
|
|
||||||
ZCLink::JoinLink(
|
|
||||||
VP_TempLink, new ZCLink(AP_CopyLink->GetData()));
|
|
||||||
|
|
||||||
VP_TempLink=VP_TempLink->mp_NextLink;
|
|
||||||
}
|
|
||||||
/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
|
||||||
|
|
||||||
APR_TailLink=VP_TempLink;
|
|
||||||
}
|
|
||||||
else //AL_FarNum<=0
|
|
||||||
{
|
|
||||||
APR_TailLink=
|
|
||||||
new ZCLink( AP_CopyLink->GetData() );
|
|
||||||
|
|
||||||
ZCLink* VP_TempLink=APR_TailLink;
|
|
||||||
|
|
||||||
for(TypeSize i=AL_FarNum; i<0; ++i) /*<<<<<<<<<<<<<<<<<<*/
|
|
||||||
{
|
|
||||||
AP_CopyLink=AP_CopyLink->mp_PrevLink;
|
|
||||||
|
|
||||||
ZCLink::JoinLink(
|
|
||||||
VP_TempLink, new ZCLink(AP_CopyLink->GetData()));
|
|
||||||
|
|
||||||
VP_TempLink=VP_TempLink->mp_PrevLink;
|
|
||||||
}
|
|
||||||
/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
|
||||||
|
|
||||||
APR_HeadLink=VP_TempLink;
|
|
||||||
}/*
|
|
||||||
else //AL_FarNum<=0*/
|
|
||||||
}/*
|
}/*
|
||||||
void GetManyLinkCopy ###########################################################
|
void GetManyLinkCopy ###########################################################
|
||||||
(
|
(
|
||||||
@ -1363,6 +1324,9 @@ namespace ZNsMain
|
|||||||
virtual ~ZtCObjList()
|
virtual ~ZtCObjList()
|
||||||
{
|
{
|
||||||
DeleteAll();
|
DeleteAll();
|
||||||
|
#if(_CODE_NEW_)
|
||||||
|
mo_FreeObjt.DeleteHeap();
|
||||||
|
#endif
|
||||||
}/*
|
}/*
|
||||||
virtual ~ZtCObjList()*/
|
virtual ~ZtCObjList()*/
|
||||||
|
|
||||||
@ -1377,15 +1341,15 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
AddDefault(rhs.ml_Size-ml_Size, ml_Size+1);
|
AddDefault(rhs.ml_Size-ml_Size, ml_Size+1);
|
||||||
|
|
||||||
ZCLink* pRhsLink=rhs.mp_HeadLink;
|
ZCLink* pRhsLink = rhs.mp_HeadLink;
|
||||||
ZCLink* pLhsLink= mp_HeadLink;
|
ZCLink* pLhsLink = mp_HeadLink;
|
||||||
|
|
||||||
__for1(TypeSize, i, ml_Size)
|
__for1(TypeSize, i, ml_Size)
|
||||||
{
|
{
|
||||||
pLhsLink->GetData()=pRhsLink->GetData();
|
**pLhsLink = ** pRhsLink ;
|
||||||
|
|
||||||
pLhsLink=pLhsLink->mp_NextLink;
|
pLhsLink = pLhsLink->mp_NextLink;
|
||||||
pRhsLink=pRhsLink->mp_NextLink;
|
pRhsLink = pRhsLink->mp_NextLink;
|
||||||
}/*
|
}/*
|
||||||
__for1(TypeSize, i, ml_Size)*/
|
__for1(TypeSize, i, ml_Size)*/
|
||||||
}
|
}
|
||||||
@ -1479,6 +1443,13 @@ namespace ZNsMain
|
|||||||
Type& operator[](TypeSize AL_Index) const*/
|
Type& operator[](TypeSize AL_Index) const*/
|
||||||
|
|
||||||
|
|
||||||
|
ZCFreeHeap& GetCFreeHeap()
|
||||||
|
{
|
||||||
|
return mo_FreeObjt;
|
||||||
|
}/*
|
||||||
|
ZCFreeHeap& GetCFreeHeap()*/
|
||||||
|
|
||||||
|
|
||||||
TypeSize Find /*###############################################################*/
|
TypeSize Find /*###############################################################*/
|
||||||
(
|
(
|
||||||
TypeArg AR_SearchType ,
|
TypeArg AR_SearchType ,
|
||||||
@ -1663,6 +1634,13 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
if(mp_HeadLink==0) return *this;
|
if(mp_HeadLink==0) return *this;
|
||||||
|
|
||||||
|
mo_FreeObjt.RecvFreeIn
|
||||||
|
( ml_Size, mp_HeadLink, mp_HeadLink->mp_PrevLink );
|
||||||
|
|
||||||
|
mp_HeadLink= 0; ml_Size= 0; return *this;
|
||||||
|
|
||||||
|
|
||||||
|
#if(_CODE_OLD_)
|
||||||
OnDelete /*============================*/
|
OnDelete /*============================*/
|
||||||
(
|
(
|
||||||
mp_HeadLink , 1 ,
|
mp_HeadLink , 1 ,
|
||||||
@ -1682,6 +1660,7 @@ namespace ZNsMain
|
|||||||
while(--ml_Size>0);
|
while(--ml_Size>0);
|
||||||
|
|
||||||
mp_HeadLink =0; return *this;
|
mp_HeadLink =0; return *this;
|
||||||
|
#endif //_CODE_OLD_
|
||||||
}/*
|
}/*
|
||||||
ZtCObjList& DeleteAll()*/
|
ZtCObjList& DeleteAll()*/
|
||||||
|
|
||||||
@ -1692,6 +1671,13 @@ namespace ZNsMain
|
|||||||
ZtCObjList& clear()*/
|
ZtCObjList& clear()*/
|
||||||
|
|
||||||
|
|
||||||
|
ZtCObjList& DeleteHeap()
|
||||||
|
{
|
||||||
|
mo_FreeObjt.DeleteHeap(); return *this;
|
||||||
|
}/*
|
||||||
|
ZtCObjList& DeleteHeap()*/
|
||||||
|
|
||||||
|
|
||||||
ZtCObjList& DeleteLink(ZCLink* AP_DeleteLink)
|
ZtCObjList& DeleteLink(ZCLink* AP_DeleteLink)
|
||||||
{
|
{
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
@ -1710,7 +1696,13 @@ namespace ZNsMain
|
|||||||
|
|
||||||
#endif //_DEBUG
|
#endif //_DEBUG
|
||||||
|
|
||||||
delete this->CutLink(AP_DeleteLink); return *this;
|
#if(_CODE_NEW_)
|
||||||
|
mo_FreeObjt.RecvFreeIn
|
||||||
|
( this->CutLink(AP_DeleteLink) );
|
||||||
|
#else
|
||||||
|
delete this->CutLink(AP_DeleteLink);
|
||||||
|
#endif
|
||||||
|
return *this;
|
||||||
}/*
|
}/*
|
||||||
ZtCObjList& DeleteLink(ZCLink* AP_DeleteLink)*/
|
ZtCObjList& DeleteLink(ZCLink* AP_DeleteLink)*/
|
||||||
|
|
||||||
@ -1732,7 +1724,13 @@ namespace ZNsMain
|
|||||||
|
|
||||||
#endif //_DEBUG
|
#endif //_DEBUG
|
||||||
|
|
||||||
delete this->CutLink(AP_DeleteLink, AL_DeletePos); return *this;
|
#if(_CODE_NEW_)
|
||||||
|
mo_FreeObjt.RecvFreeIn
|
||||||
|
( this->CutLink(AP_DeleteLink, AL_DeletePos) );
|
||||||
|
#else
|
||||||
|
delete this->CutLink(AP_DeleteLink, AL_DeletePos);
|
||||||
|
#endif
|
||||||
|
return *this;
|
||||||
}/*
|
}/*
|
||||||
ZtCObjList& DeleteLink(ZCLink* AP_DeleteLink, TypeSize AL_DeletePos)*/
|
ZtCObjList& DeleteLink(ZCLink* AP_DeleteLink, TypeSize AL_DeletePos)*/
|
||||||
|
|
||||||
@ -1761,7 +1759,12 @@ namespace ZNsMain
|
|||||||
ZtCObjList& DeleteHead()
|
ZtCObjList& DeleteHead()
|
||||||
{
|
{
|
||||||
if(ml_Size>0)
|
if(ml_Size>0)
|
||||||
delete this->CutLink(mp_HeadLink);
|
#if(_CODE_NEW_)
|
||||||
|
mo_FreeObjt.RecvFreeIn
|
||||||
|
( this->CutLink(mp_HeadLink) );
|
||||||
|
#else
|
||||||
|
delete this->CutLink(mp_HeadLink) ;
|
||||||
|
#endif
|
||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
}/*
|
}/*
|
||||||
@ -1773,7 +1776,12 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
if(this->size()<1) return *this;
|
if(this->size()<1) return *this;
|
||||||
|
|
||||||
delete this->CutLink(mp_HeadLink);
|
#if(_CODE_NEW_)
|
||||||
|
mo_FreeObjt.RecvFreeIn
|
||||||
|
( this->CutLink(mp_HeadLink) );
|
||||||
|
#else
|
||||||
|
delete this->CutLink(mp_HeadLink) ;
|
||||||
|
#endif
|
||||||
}/*
|
}/*
|
||||||
__for1(TypeSize, i, AI_DeleteCnt)*/
|
__for1(TypeSize, i, AI_DeleteCnt)*/
|
||||||
|
|
||||||
@ -1784,7 +1792,12 @@ namespace ZNsMain
|
|||||||
ZtCObjList& DeleteTail()
|
ZtCObjList& DeleteTail()
|
||||||
{
|
{
|
||||||
if(ml_Size>0)
|
if(ml_Size>0)
|
||||||
delete this->CutLink(mp_HeadLink->mp_PrevLink);
|
#if(_CODE_NEW_)
|
||||||
|
mo_FreeObjt.RecvFreeIn
|
||||||
|
( this->CutLink(mp_HeadLink->mp_PrevLink) );
|
||||||
|
#else
|
||||||
|
delete this->CutLink(mp_HeadLink->mp_PrevLink) ;
|
||||||
|
#endif
|
||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
}/*
|
}/*
|
||||||
@ -1800,7 +1813,7 @@ namespace ZNsMain
|
|||||||
ZtCObjList VO_StoreList; MakeDefault(
|
ZtCObjList VO_StoreList; MakeDefault(
|
||||||
AL_DefaultSize, VO_StoreList);
|
AL_DefaultSize, VO_StoreList);
|
||||||
|
|
||||||
ZCLink* VP_HeadLink=VO_StoreList.mp_HeadLink;
|
ZCLink* VP_HeadLink= VO_StoreList.mp_HeadLink;
|
||||||
|
|
||||||
if(AL_AddPos==1)
|
if(AL_AddPos==1)
|
||||||
JoinAfter(VO_StoreList, 0 , 1 );
|
JoinAfter(VO_StoreList, 0 , 1 );
|
||||||
@ -1814,10 +1827,14 @@ namespace ZNsMain
|
|||||||
ZtCObjList& AddHead(TypeArg AR_Type)
|
ZtCObjList& AddHead(TypeArg AR_Type)
|
||||||
{
|
{
|
||||||
#if(_CODE_NEW_)
|
#if(_CODE_NEW_)
|
||||||
|
ZCLink* VP_NewNode = mo_FreeObjt.SendFreeOut();
|
||||||
|
#else
|
||||||
|
ZCLink* VP_NewNode = new ZCLink ;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if(_CODE_NEW_)
|
||||||
if(TypeMoveObj::ZEUseMoveObj>0) ////////////////////
|
if(TypeMoveObj::ZEUseMoveObj>0) ////////////////////
|
||||||
{
|
{
|
||||||
ZCLink* VP_NewNode = new ZCLink;
|
|
||||||
|
|
||||||
TypeMoveObj::Exec(VP_NewNode->mo_Data, AR_Type);
|
TypeMoveObj::Exec(VP_NewNode->mo_Data, AR_Type);
|
||||||
|
|
||||||
JoinAfter(VP_NewNode, 0, 0); return *this;
|
JoinAfter(VP_NewNode, 0, 0); return *this;
|
||||||
@ -1825,13 +1842,15 @@ namespace ZNsMain
|
|||||||
////////////////////////////////////////////////////
|
////////////////////////////////////////////////////
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
JoinAfter(new ZCLink(AR_Type), 0, 0); return *this;
|
**VP_NewNode = AR_Type;
|
||||||
|
|
||||||
|
JoinAfter(VP_NewNode, 0, 0); return *this;
|
||||||
}/*
|
}/*
|
||||||
ZtCObjList& AddHead(TypeArg AR_Type)*/
|
ZtCObjList& AddHead(TypeArg AR_Type)*/
|
||||||
|
|
||||||
ZtCObjList& AddHead(const ZtCObjList& rhs)
|
ZtCObjList& AddHead(const ZtCObjList& rhs)
|
||||||
{
|
{
|
||||||
if(this==&rhs) return *this;
|
if(this==&rhs) return *this ;
|
||||||
|
|
||||||
ZtCObjList VO_StoreList(rhs);
|
ZtCObjList VO_StoreList(rhs);
|
||||||
|
|
||||||
@ -1843,10 +1862,14 @@ namespace ZNsMain
|
|||||||
ZtCObjList& AddTail(TypeArg AR_Type)
|
ZtCObjList& AddTail(TypeArg AR_Type)
|
||||||
{
|
{
|
||||||
#if(_CODE_NEW_)
|
#if(_CODE_NEW_)
|
||||||
|
ZCLink* VP_NewNode = mo_FreeObjt.SendFreeOut();
|
||||||
|
#else
|
||||||
|
ZCLink* VP_NewNode = new ZCLink ;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if(_CODE_NEW_)
|
||||||
if(TypeMoveObj::ZEUseMoveObj>0) ////////////////////
|
if(TypeMoveObj::ZEUseMoveObj>0) ////////////////////
|
||||||
{
|
{
|
||||||
ZCLink* VP_NewNode = new ZCLink;
|
|
||||||
|
|
||||||
TypeMoveObj::Exec(VP_NewNode->mo_Data, AR_Type);
|
TypeMoveObj::Exec(VP_NewNode->mo_Data, AR_Type);
|
||||||
|
|
||||||
JoinAfter(VP_NewNode, GetTailLinkPtr(), 0); return *this;
|
JoinAfter(VP_NewNode, GetTailLinkPtr(), 0); return *this;
|
||||||
@ -1854,7 +1877,11 @@ namespace ZNsMain
|
|||||||
////////////////////////////////////////////////////
|
////////////////////////////////////////////////////
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
JoinAfter(new ZCLink(AR_Type), GetTailLinkPtr(), ml_Size); return *this;
|
**VP_NewNode = AR_Type;
|
||||||
|
|
||||||
|
JoinAfter
|
||||||
|
(VP_NewNode, GetTailLinkPtr(), ml_Size);
|
||||||
|
return *this ;
|
||||||
}/*
|
}/*
|
||||||
ZtCObjList& AddTail(TypeArg AR_Type)*/
|
ZtCObjList& AddTail(TypeArg AR_Type)*/
|
||||||
|
|
||||||
@ -1874,11 +1901,23 @@ namespace ZNsMain
|
|||||||
///////////////////////////////////////////////////////////////////*/
|
///////////////////////////////////////////////////////////////////*/
|
||||||
|
|
||||||
ZCLink* AddHeadDefault()
|
ZCLink* AddHeadDefault()
|
||||||
{ ZCLink* VP_NewLink = new ZCLink ;
|
{
|
||||||
JoinAfter(VP_NewLink, 0 /*/////////*/ , 0 ); return VP_NewLink; }
|
#if(_CODE_NEW_)
|
||||||
|
ZCLink* VP_NewLink = mo_FreeObjt.SendFreeOut();
|
||||||
|
#else
|
||||||
|
ZCLink* VP_NewLink = new ZCLink ;
|
||||||
|
#endif
|
||||||
|
JoinAfter(VP_NewLink, 0 /*/////////*/ , 0 ); return VP_NewLink;
|
||||||
|
}
|
||||||
ZCLink* AddTailDefault()
|
ZCLink* AddTailDefault()
|
||||||
{ ZCLink* VP_NewLink = new ZCLink ;
|
{
|
||||||
JoinAfter(VP_NewLink, GetTailLinkPtr(), ml_Size); return VP_NewLink; }
|
#if(_CODE_NEW_)
|
||||||
|
ZCLink* VP_NewLink = mo_FreeObjt.SendFreeOut();
|
||||||
|
#else
|
||||||
|
ZCLink* VP_NewLink = new ZCLink ;
|
||||||
|
#endif
|
||||||
|
JoinAfter(VP_NewLink, GetTailLinkPtr(), ml_Size); return VP_NewLink;
|
||||||
|
}
|
||||||
|
|
||||||
ZCLink* AddHeadDef(){ return AddHeadDefault(); }
|
ZCLink* AddHeadDef(){ return AddHeadDefault(); }
|
||||||
ZCLink* AddTailDef(){ return AddTailDefault(); }
|
ZCLink* AddTailDef(){ return AddTailDefault(); }
|
||||||
|
@ -1187,8 +1187,9 @@ namespace ZNsMain
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
VP_AddLink->mp_NextLink =mp_HeadLink;
|
ZCLink::JoinLink(VP_AddLink, mp_HeadLink);
|
||||||
mp_HeadLink=VP_AddLink;
|
|
||||||
|
mp_HeadLink = VP_AddLink ;
|
||||||
}/*
|
}/*
|
||||||
else*/
|
else*/
|
||||||
}/*
|
}/*
|
||||||
@ -1205,8 +1206,9 @@ namespace ZNsMain
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
VP_AddLink->mp_NextLink =mp_HeadLink;
|
ZCLink::JoinLink(VP_AddLink, mp_HeadLink);
|
||||||
mp_HeadLink=VP_AddLink;
|
|
||||||
|
mp_HeadLink = VP_AddLink ;
|
||||||
}
|
}
|
||||||
//else
|
//else
|
||||||
}/*
|
}/*
|
||||||
@ -1233,8 +1235,9 @@ namespace ZNsMain
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mp_TailLink->mp_NextLink=VP_AddLink ;
|
ZCLink::JoinLink(mp_TailLink, VP_AddLink);
|
||||||
mp_TailLink=mp_TailLink->mp_NextLink;
|
|
||||||
|
mp_TailLink = VP_AddLink;
|
||||||
}/*
|
}/*
|
||||||
else*/
|
else*/
|
||||||
}/*
|
}/*
|
||||||
@ -1251,8 +1254,9 @@ namespace ZNsMain
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mp_TailLink->mp_NextLink = VP_AddLink ;
|
ZCLink::JoinLink(mp_TailLink, VP_AddLink);
|
||||||
mp_TailLink=mp_TailLink->mp_NextLink;
|
|
||||||
|
mp_TailLink = VP_AddLink ;
|
||||||
}/*
|
}/*
|
||||||
else*/
|
else*/
|
||||||
}/*
|
}/*
|
||||||
|
Reference in New Issue
Block a user