commit 2025-10-03 11:51 add ChangeCapacity() in ZtCBaseList : ZCppMain/ZMainHead.H

This commit is contained in:
2025-10-03 11:51:55 +09:00
parent c0cc5540b5
commit 97b1280b15
4 changed files with 379 additions and 88 deletions

View File

@ -4035,68 +4035,75 @@ namespace ZNsMain
typedef typename TLinkList::TypeSize TypeSize;
public:
void RecvFreeIn(ZCLink* AP_CutLink){}
void RecvFreeIn /////////////////////
_NP_ void RecvFreeIn(ZCLink* AP_CutLink){}
_NP_ void RecvFreeIn /////////////////////
(
TypeSize AL_CutCnt ,
ZCLink* AP_CutHead,
ZCLink* AP_CutTail
)
{ } /////////////////////////////////
{ } //////////////////////////////////////
ZCLink* SendFreeOut(){}
void SendFreeOut /////////////////
_NP_ ZCLink* SendFreeOut(){}
_NP_ void SendFreeOut /////////////////
(
TypeSize AL_NeedCnt ,
ZCLink*& APR_NewHead,
ZCLink*& APR_NewTail
)
{ } /////////////////////////////////
{ } //////////////////////////////////////
void SendFreeOutCopy /*////////////////////////////*/
_NP_ void SendFreeOutCopy /*////////////////////////////*/
(
ZCLink* AP_LinkOrgin, TypeSize AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
{ } /*/////////////////////////////////////////////*/
{ } /*//////////////////////////////////////////////////*/
void DeleteHeap(){}
_NP_ void DeleteHeap(){}
void MakeEuqal(ZtCBody& rhs)
_NP_ void MakeEuqal(ZtCBody& rhs)
{
}/*
void MakeEuqal(ZtCBody& rhs)*/
_NP_ void MakeEuqal(ZtCBody& rhs)*/
TypeSize GetUseHeapSize() const
_NP_ TypeSize GetUseHeapSize() const
{
return 0;
}/*
TypeSize GetUseHeapSize() const*/
_NP_ TypeSize GetUseHeapSize() const*/
TypeSize GetAllHeapSize() const
_NP_ TypeSize GetAllHeapSize() const
{
return 0;
}/*
TypeSize GetAllHeapSize() const*/
_NP_ TypeSize GetAllHeapSize() const*/
TypeSize size() const
_NP_ TypeSize size() const
{
return GetUseHeapSize();
}/*
TypeSize GetHeapSize() const*/
_NP_ TypeSize size() const*/
TypeSize capacity() const
_NP_ TypeSize capacity() const
{
return GetAllHeapSize();
}/*
TypeSize GetHeapSize() const*/
_NP_ TypeSize capacity() const*/
_NP_ void ChangeCapacity(TypeSize AI_AddCut)
{
}/*
_NP_ void ChangeCapacity(TypeSize AI_AddCut)*/
public:
};/*
template<typename TLinkList> class ZtCBody*/
@ -4155,14 +4162,14 @@ namespace ZNsMain
:::::::::::::::::::::::::::::::::::::::::::::::::::*/
public:
void RecvFreeIn(ZCLink* AP_CutLink){delete AP_CutLink;}
void RecvFreeIn ///////////////////////////////////////
_NP_ void RecvFreeIn(ZCLink* AP_CutLink){delete AP_CutLink;}
_NP_ void RecvFreeIn ///////////////////////////////////////
(
TypeSize AL_CutCnt ,
ZCLink* AP_CutHead,
ZCLink* AP_CutTail
)
///////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
{
ZCLink* VP_DelLink = AP_CutHead;
@ -4174,17 +4181,17 @@ namespace ZNsMain
}/*
__for0(TypeSize, i, AL_CutCnt)*/
}
///////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
ZCLink* SendFreeOut(){return new ZCLink;}
void SendFreeOut ///////////////////////////////////
_NP_ ZCLink* SendFreeOut(){return new ZCLink;}
_NP_ void SendFreeOut ///////////////////////////////////
(
TypeSize AL_NeedCnt ,
ZCLink*& APR_HeadLink ,
ZCLink*& APR_TailLink
)
///////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
{
APR_HeadLink = new ZCLink;
@ -4205,15 +4212,15 @@ namespace ZNsMain
APR_TailLink = VP_TailLink;
}
///////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
void SendFreeOutCopy /*////////////////////////////*/
_NP_ void SendFreeOutCopy /*////////////////////////////*/
(
ZCLink* AP_LinkOrgin, TypeSize AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
/////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
{
// 총 AL_FarNum+1 개의 링크가 만들어짊.
@ -4239,47 +4246,53 @@ namespace ZNsMain
APR_TailCopy=VP_TailLink;
}/*
void SendFreeOutCopy //////////////////////////////
_NP_ void SendFreeOutCopy //////////////////////////////
(
ZCLink* AP_LinkOrgin, TypeSize AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
///////////////////////////////////////////////////*/
////////////////////////////////////////////////////////*/
void DeleteHeap(){}
_NP_ void DeleteHeap(){}
void MakeEuqal(ZtCBody& rhs)
_NP_ void MakeEuqal(ZtCBody& rhs)
{
}/*
void MakeEuqal(ZtCBody& rhs)*/
_NP_ void MakeEuqal(ZtCBody& rhs)*/
TypeSize GetUseHeapSize() const
_NP_ TypeSize GetUseHeapSize() const
{
return 0;
}/*
TypeSize GetUseHeapSize() const*/
_NP_ TypeSize GetUseHeapSize() const*/
TypeSize GetAllHeapSize() const
_NP_ TypeSize GetAllHeapSize() const
{
return 0;
}/*
TypeSize GetAllHeapSize() const*/
_NP_ TypeSize GetAllHeapSize() const*/
TypeSize size() const
_NP_ TypeSize size() const
{
return GetUseHeapSize();
}/*
TypeSize GetHeapSize() const*/
_NP_ TypeSize GetHeapSize() const*/
TypeSize capacity() const
_NP_ TypeSize capacity() const
{
return GetAllHeapSize();
}/*
TypeSize GetHeapSize() const*/
_NP_ TypeSize capacity() const*/
_NP_ void ChangeCapacity(TypeSize AI_AddCut)
{
}/*
_NP_ void ChangeCapacity(TypeSize AI_AddCut)*/
};/*
template<typename TSnglList> class ZtCBody*/
@ -4300,14 +4313,14 @@ namespace ZNsMain
typedef typename TLinkList::TypeSize TypeSize;
public:
void RecvFreeIn(ZCLink* AP_CutLink){delete AP_CutLink;}
void RecvFreeIn ///////////////////////////////////////
_NP_ void RecvFreeIn(ZCLink* AP_CutLink){delete AP_CutLink;}
_NP_ void RecvFreeIn ///////////////////////////////////////
(
TypeSize AL_CutCnt ,
ZCLink* AP_CutHead,
ZCLink* AP_CutTail
)
///////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
{
ZCLink* VP_DelLink = AP_CutHead;
@ -4319,17 +4332,17 @@ namespace ZNsMain
}/*
__for0(TypeSize, i, AL_CutCnt)*/
}
///////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
ZCLink* SendFreeOut(){return new ZCLink;}
void SendFreeOut ///////////////////////////////////
_NP_ ZCLink* SendFreeOut(){return new ZCLink;}
_NP_ void SendFreeOut ///////////////////////////////////
(
TypeSize AL_NeedCnt ,
ZCLink*& APR_HeadLink ,
ZCLink*& APR_TailLink
)
///////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
{
APR_HeadLink = new ZCLink;
@ -4351,15 +4364,15 @@ namespace ZNsMain
APR_TailLink = VP_TailLink;
}
///////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
void SendFreeOutCopy /*////////////////////////////*/
_NP_ void SendFreeOutCopy /*////////////////////////////*/
(
ZCLink* AP_LinkOrgin, TypeSize AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
/////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
{
// 총 AL_FarNum+1 개의 링크가 만들어짊
@ -4385,47 +4398,53 @@ namespace ZNsMain
APR_TailCopy=VP_TailLink;
}/*
void SendFreeOutCopy //////////////////////////////
_NP_ void SendFreeOutCopy //////////////////////////////
(
ZCLink* AP_LinkOrgin, TypeSize AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
///////////////////////////////////////////////////*/
////////////////////////////////////////////////////////*/
void DeleteHeap(){}
_NP_ void DeleteHeap(){}
void MakeEuqal(ZtCBody& rhs)
_NP_ void MakeEuqal(ZtCBody& rhs)
{
}/*
void MakeEuqal(ZtCBody& rhs)*/
_NP_ void MakeEuqal(ZtCBody& rhs)*/
TypeSize GetUseHeapSize() const
_NP_ TypeSize GetUseHeapSize() const
{
return 0;
}/*
TypeSize GetUseHeapSize() const*/
_NP_ TypeSize GetUseHeapSize() const*/
TypeSize GetAllHeapSize() const
_NP_ TypeSize GetAllHeapSize() const
{
return 0;
}/*
TypeSize GetAllHeapSize() const*/
_NP_ TypeSize GetAllHeapSize() const*/
TypeSize size() const
_NP_ TypeSize size() const
{
return GetUseHeapSize();
}/*
TypeSize GetHeapSize() const*/
TypeSize size() const*/
TypeSize capacity() const
_NP_ TypeSize capacity() const
{
return GetAllHeapSize();
}/*
TypeSize GetHeapSize() const*/
_NP_ TypeSize capacity() const*/
_NP_ void ChangeCapacity(TypeSize AI_AddCut)
{
}/*
_NP_ void ChangeCapacity(TypeSize AI_AddCut)*/
};/*
template<typename TLinkList> class ZtCBody*/
@ -5602,6 +5621,19 @@ namespace ZNsMain
)
/////////////////////////////////////////////////////*/
_VT_ void ChangeCapacity(TypeSize AI_AddCut)
{
if(TTypeCRTP::ZEUseCRTP<1)
{
return; /*nothing to do*/
}/*
if(TTypeCRTP::ZEUseCRTP<1)*/
GetChildObj().ChangeCapacity(AI_AddCut);
}/*
_VT_ void ChangeCapacity(TypeSize AI_AddCut)*/
/*private :*/
private :
@ -5807,6 +5839,29 @@ namespace ZNsMain
TypeData& AddTail(TypeArg AO_ArgData) ##########################*/
ZtCBaseList& AddHead(ZtCBaseList& rhs)
{
if(this == &rhs ) return *this;
if(rhs.size()<1 ) return *this;
ZtCBaseList VO_TempList(rhs);
return JoinHead(VO_TempList);
}/*
ZtCBaseList& AddHead(ZtCBaseList& rhs)*/
ZtCBaseList& AddTail(ZtCBaseList& rhs)
{
if(this == &rhs ) return *this;
if(rhs.size()<1 ) return *this;
ZtCBaseList VO_TempList(rhs);
return JoinTail(VO_TempList);
}/*
ZtCBaseList& AddTail(ZtCBaseList& rhs)*/
void DeleteHead()
{
if(ml_LinkCnt<1) return;
@ -5847,6 +5902,122 @@ namespace ZNsMain
void DeleteTail()*/
ZtCBaseList& JoinAfter(ZtCBaseList& rhs, ZCLink* AP_StdLink)
{
// AP_StdLink 의 뒤에 rhs 를 삽입.
if(rhs.ml_LinkCnt<1) return *this;
this->ChangeCapacity( rhs.ml_LinkCnt) ;
rhs. ChangeCapacity(-rhs.ml_LinkCnt) ;
if(AP_StdLink==0) // 맨 앞에 삽입
{
if(ml_LinkCnt<1)
{
mp_HeadLink =rhs.mp_HeadLink;
mp_TailLink =rhs.mp_TailLink;
ml_LinkCnt =rhs.ml_LinkCnt ;
}
else // ml_LinkCnt>=1
{
ZCLink::JoinLink( rhs.mp_TailLink, mp_HeadLink );
ZCLink::MakeRing( rhs.mp_HeadLink, mp_TailLink );
mp_HeadLink =rhs.mp_HeadLink;
ml_LinkCnt =rhs.ml_LinkCnt ;
}/*
else // ml_LinkCnt>=1*/
ml_LinkCnt += rhs.ml_LinkCnt;
rhs.mp_HeadLink = 0 ;
rhs.mp_TailLink = 0 ;
rhs.ml_LinkCnt = 0 ;
return *this;
}/*
if(AP_StdLink==0)*/
ZCLink* VP_StdNext=AP_StdLink->mp_NextLink;
ZCLink::JoinLink(AP_StdLink , rhs.mp_HeadLink );
ZCLink::JoinLink(rhs.mp_TailLink, VP_StdNext );
if(AP_StdLink==mp_TailLink)
{ mp_TailLink=rhs.mp_TailLink; }
rhs.mp_HeadLink=0;
rhs.mp_TailLink=0;
rhs.ml_LinkCnt =0;
ml_LinkCnt += rhs.ml_LinkCnt; return *this;
}/*
ZtCBaseList& JoinAfter(ZtCBaseList& rhs, ZCLink* AP_StdLink)*/
ZtCBaseList& JoinBefore(ZtCBaseList& rhs, ZCLink* AP_StdLink)
{
// AP_StdLink 의 앞에 rhs 를 삽입.
if(rhs.size()<1) return *this;
if(AP_StdLink==0) // 맨 뒤에 삽입
{
if(ml_LinkCnt<1)
{
mp_HeadLink =rhs.mp_HeadLink;
mp_TailLink =rhs.mp_TailLink;
ml_LinkCnt =rhs.ml_LinkCnt ;
}
else // ml_LinkCnt>=1
{
ZCLink::JoinLink(mp_TailLink, rhs.mp_HeadLink );
ZCLink::MakeRing(mp_HeadLink, rhs.mp_TailLink );
mp_TailLink = rhs.mp_TailLink ;
ml_LinkCnt += rhs.ml_LinkCnt ;
}/*
else // ml_LinkCnt>=1*/
this->ChangeCapacity( rhs.ml_LinkCnt) ;
rhs. ChangeCapacity(-rhs.ml_LinkCnt) ;
rhs.mp_HeadLink=0;
rhs.mp_TailLink=0;
rhs.ml_LinkCnt =0;
ml_LinkCnt += rhs.ml_LinkCnt; return *this;
}/*
if(AP_StdLink==0)*/
ZCLink* VP_StdPrev = AP_StdLink->mp_PrevLink;
ZCLink::JoinLink( VP_StdPrev , rhs.mp_HeadLink );
ZCLink::JoinLink(rhs.mp_TailLink, AP_StdLink );
if(AP_StdLink==mp_HeadLink)
{ mp_HeadLink = rhs.mp_HeadLink; }
this->ChangeCapacity( rhs.ml_LinkCnt) ;
rhs. ChangeCapacity(-rhs.ml_LinkCnt) ;
rhs.mp_HeadLink=0;
rhs.mp_TailLink=0;
rhs.ml_LinkCnt =0;
ml_LinkCnt += rhs.ml_LinkCnt; return *this;
}/*
ZtCBaseList& JoinBefore(ZtCBaseList& rhs, ZCLink* AP_StdLink)*/
ZtCBaseList& JoinHead(ZtCBaseList& rhs)
{ if(this==&rhs) return *this; return JoinAfter (rhs, 0); }
ZtCBaseList& JoinTail(ZtCBaseList& rhs)
{ if(this==&rhs) return *this; return JoinBefore(rhs, 0); }
TypeData& GetHeadData(){return mp_HeadLink->mo_Data;}
TypeData& GetTailData(){return mp_TailLink->mo_Data;}
@ -5980,6 +6151,72 @@ namespace ZNsMain
###############################################################################*/
template<typename TFunctor> void IterElemRev(TFunctor AO_Functor)
{
ZCLink* VP_LoopLink=mp_TailLink;
__for0(TypeSize, i, ml_LinkCnt)
{
ZtCTypeData<TFunctor>::
GetObjRef(AO_Functor)(VP_LoopLink->mo_Data);
VP_LoopLink = VP_LoopLink->mp_PrevLink ;
}/*
__for0(TypeSize, i, ml_Size)*/
}/*
template<typename TFunctor> void IterElemRev(TFunctor AO_Functor) */
template<typename TFunctor, typename TTypeHelp>
void IterElemRev(TFunctor AO_Functor, TTypeHelp AO_TypeHelp)
{
typedef ZNsMain::
ZtCCheckRef<TTypeHelp> ZCCheckRef;
ZCLink* VP_LoopLink = mp_TailLink;
__for0(TypeSize, i, ml_LinkCnt)
{
ZtCTypeData<TFunctor>::GetObjRef(AO_Functor)
(
VP_LoopLink->mo_Data, ZCCheckRef::PassData(AO_TypeHelp)
);
VP_LoopLink = VP_LoopLink->mp_PrevLink ;
}/*
__for0(TypeSize, i, ml_Size)*/
}/*
template<typename TFunctor, typename TTypeHelp>
void IterElemRev(TFunctor AO_Functor, TTypeHelp AO_TypeHelp) */
template
< typename TFunctor , typename TTypeHelp1 , typename TTypeHelp2 >
void IterElemRev
( TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2 )
/*#############################################################################*/
{
typedef ZNsMain::ZtCCheckRef<TTypeHelp1> ZCCheckRef1;
typedef ZNsMain::ZtCCheckRef<TTypeHelp2> ZCCheckRef2;
ZCLink* VP_LoopLink = mp_TailLink;
__for0(TypeSize, i, ml_LinkCnt)
{
ZtCTypeData<TFunctor>::GetObjRef(AO_Functor)
(
VP_LoopLink->mo_Data
, ZCCheckRef1::PassData(AO_TypeHelp1)
, ZCCheckRef2::PassData(AO_TypeHelp2)
);
VP_LoopLink = VP_LoopLink->mp_PrevLink ;
}/*
__for0(TypeSize, i, ml_Size)*/
}/*
template
< typename TFunctor , typename TTypeHelp1 , typename TTypeHelp2 >
void IterElemRev
( TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2 )
###############################################################################*/
ZCLink* GetHeadLinkPtr(){return mp_HeadLink;}
ZCLink* GetTailLinkPtr(){return mp_TailLink;}

View File

@ -769,6 +769,13 @@ namespace ZNsMain
}/*
TypeSize capacity() const*/
void ChangeCapacity(TypeSize AI_AddCut)
{
ml_AllSize =+ AI_AddCut;
}/*
void ChangeCapacity(TypeSize AI_AddCut)*/
public:
};/*
template<typename TObjList> class ZtCBody*/
@ -1077,6 +1084,9 @@ namespace ZNsMain
if(this == &AO_CObjList ) return;
if(AO_CObjList.ml_Size<1) return;
this-> ChangeCapacity( AO_CObjList.ml_LinkCnt) ;
AO_CObjList.ChangeCapacity(-AO_CObjList.ml_LinkCnt) ;
if(AP_LinkStd==0)
{
if(ml_Size==0)
@ -1144,9 +1154,7 @@ namespace ZNsMain
{
if(AL_CutPos==1) // 첫째 링크를 삭제.
{
if(ml_Size==1)
mp_HeadLink=0;
else
if(ml_Size==1){ mp_HeadLink=0; }else
{
ZCLink::MakeRing
(
@ -1155,7 +1163,7 @@ namespace ZNsMain
);
////////////////
}/*
else*/
else :::::::::::::::::::::::::::::*/
}
else if(AL_CutPos==ml_Size) // 끝 링크를 삭제할 때
ZCLink::MakeRing(mp_HeadLink , AP_CutLink->mp_PrevLink);
@ -1213,7 +1221,8 @@ namespace ZNsMain
}/*
else*/
ml_Size -= AL_CutTailPos-AL_CutHeadPos+1 ;
TypeSize VL_CutSize = AL_CutTailPos-AL_CutHeadPos+1 ;
/*++++*/ ml_Size -= VL_CutSize ;
// AP_CutHead 과 AP_CutTail 을 연결하여
// 이중 원형 연결리스트가 되도록 한다.
@ -1239,8 +1248,11 @@ namespace ZNsMain
#endif //_DEBUG
ARR_StoreList.mp_HeadLink=AP_CutHead ;
ARR_StoreList.ml_Size =AL_CutTailPos-AL_CutHeadPos+1;
this-> ChangeCapacity(-VL_CutSize) ;
ARR_StoreList.ChangeCapacity( VL_CutSize) ;
ARR_StoreList.mp_HeadLink = AP_CutHead ;
ARR_StoreList.ml_Size = VL_CutSize ;
return ARR_StoreList;
}/*
@ -1412,13 +1424,13 @@ namespace ZNsMain
{
ZtCObjList VO_StoreList;
CutLink ///////////////////////////////////////
CutLink ////////////////////////////////////////
(
GetLinkPtr(rhs.ml_Size+1), rhs.ml_Size+1,
GetLinkPtr( ml_Size ), ml_Size ,
RR(VO_StoreList)
). DeleteAll();
////////////////////////////////////////////////
/////////////////////////////////////////////////
}/*
else*/
@ -1452,7 +1464,11 @@ namespace ZNsMain
TypeSize capacity() const{return mo_FreeObjt.capacity();}
TypeSize GetFreeSize() const
{ return mo_FreeObjt.size(); }
{ return mo_FreeObjt.size(); }
void ChangeCapacity(TypeSize AI_AddCut) const
{ mo_FreeObjt.ChangeCapacity(AI_AddCut); }
ZCLink* GetHeadLinkPtr(){return mp_HeadLink;}
ZCLink* GetTailLinkPtr()

View File

@ -771,6 +771,13 @@ namespace ZNsMain
}/*
TypeSize capacity() const*/
void ChangeCapacity(TypeSize AI_AddCut)
{
ml_AllSize =+ AI_AddCut;
}/*
void ChangeCapacity(TypeSize AI_AddCut)*/
public:
};/*
template<typename TSimList> class ZtCBody*/
@ -1722,13 +1729,13 @@ namespace ZNsMain
if(mp_HeadLink==0)
{
mp_HeadLink=rhs.mp_HeadLink;
mp_TailLink=rhs.mp_TailLink;
ml_Size =rhs.ml_Size ;
mp_HeadLink= rhs.mp_HeadLink;
mp_TailLink= rhs.mp_TailLink;
ml_Size = rhs.ml_Size ;
}
else
{
rhs.mp_TailLink->mp_NextLink=mp_HeadLink;
rhs.mp_TailLink->mp_NextLink = mp_HeadLink;
mp_HeadLink= rhs.mp_HeadLink ;
ml_Size += rhs.ml_Size ;
@ -1737,6 +1744,10 @@ namespace ZNsMain
}/*
else*/
this->ChangeCapacity( rhs.ml_LinkCnt) ;
rhs. ChangeCapacity(-rhs.ml_LinkCnt) ;
rhs.mp_HeadLink=0;
rhs.mp_TailLink=0;
rhs.ml_Size =0;
@ -1766,6 +1777,9 @@ namespace ZNsMain
}/*
else*/
this->ChangeCapacity( rhs.ml_LinkCnt) ;
rhs. ChangeCapacity(-rhs.ml_LinkCnt) ;
rhs.mp_HeadLink=0;
rhs.mp_TailLink=0;
rhs.ml_Size =0;
@ -2134,6 +2148,12 @@ namespace ZNsMain
}/*
inline TypeSize GetFreeSize() const*/
void ChangeCapacity(TypeSize AI_AddCut) const
{
mo_FreeObjt.ChangeCapacity(AI_AddCut);
}/*
void ChangeCapacity(TypeSize AI_AddCut) const*/
inline bool IsEmpty() const
{

View File

@ -134,7 +134,7 @@ namespace ZNsMain
_VT_ void SendFreeOut
(ZTypLong AL_NeedCnt, ZCLink*& APR_HeadLink, ZCLink*& APR_TailLink)
{
cout<<"** ZCBaseListEx10 : SendFreeOut(ZTypLong, ZCLink*&, ZCLink*&)"<<endl;
cout<<"** ZCBaseListEx10 : SendFreeOut("<<AL_NeedCnt<<", ZCLink*&, ZCLink*&)"<<endl;
this->ZCBaseList::NewLink(AL_NeedCnt, APR_HeadLink, APR_TailLink);
}
@ -146,7 +146,7 @@ namespace ZNsMain
)
/////////////////////////////////////////////////////
{
cout<<"** ZCBaseListEx10 : SendFreeOut(ZCLink*, ZTypLong, ZCLink*&, ZCLink*&)"<<endl;
cout<<"** ZCBaseListEx10 : SendFreeOut(ZCLink*, "<<AL_FarNum<<", ZCLink*&, ZCLink*&)"<<endl;
this->ZCBaseList::NewLinkCopy(AP_LinkOrgin, AL_FarNum, APR_HeadCopy, APR_TailCopy);
}
@ -167,11 +167,17 @@ namespace ZNsMain
)
///////////////////////////////////////////////////////
{
cout<<"** ZCBaseListEx10 : RecvFreeIn(ZTypLong, AP_CutHead, AP_CutTail)"<<endl;
cout<<"** ZCBaseListEx10 : RecvFreeIn("<<AL_CutCnt<<", AP_CutHead, AP_CutTail)"<<endl;
this->ZCBaseList::DelLink(AL_CutCnt, AP_CutHead, AP_CutTail);
}
_VT_ void ChangeCapacity(ZTypLong AI_AddCut)
{
cout<<"** ZCBaseListEx10 : ChangeCapacity("<<AI_AddCut<<")"<<endl;
}/*
_VT_ void ChangeCapacity(ZTypLong AI_AddCut)*/
private:
};/*
class ZCBaseListEx10 : public ZtCBaseList*/
@ -225,7 +231,7 @@ namespace ZNsMain
_VT_ void SendFreeOut
(ZTypLong AL_NeedCnt, ZCLink*& APR_HeadLink, ZCLink*& APR_TailLink)
{
cout<<"** ZCBaseListEx11 : SendFreeOut(ZTypLong, ZCLink*&, ZCLink*&)"<<endl;
cout<<"** ZCBaseListEx11 : SendFreeOut("<<AL_NeedCnt<<", ZCLink*&, ZCLink*&)"<<endl;
this->ZCBaseList::NewLink(AL_NeedCnt, APR_HeadLink, APR_TailLink);
}
@ -237,7 +243,7 @@ namespace ZNsMain
)
/////////////////////////////////////////////////////
{
cout<<"** ZCBaseListEx11 : SendFreeOut(ZCLink*, ZTypLong, ZCLink*&, ZCLink*&)"<<endl;
cout<<"** ZCBaseListEx11 : SendFreeOut(ZCLink*, "<<AL_FarNum<<", ZCLink*&, ZCLink*&)"<<endl;
this->ZCBaseList::NewLinkCopy(AP_LinkOrgin, AL_FarNum, APR_HeadCopy, APR_TailCopy);
}
@ -258,11 +264,17 @@ namespace ZNsMain
)
///////////////////////////////////////////////////////
{
cout<<"** ZCBaseListEx11: RecvFreeIn(ZTypLong, AP_CutHead, AP_CutTail)"<<endl;
cout<<"** ZCBaseListEx11: RecvFreeIn("<<AL_CutCnt<<", AP_CutHead, AP_CutTail)"<<endl;
this->ZCBaseList::DelLink(AL_CutCnt, AP_CutHead, AP_CutTail);
}
_VT_ void ChangeCapacity(ZTypLong AI_AddCut)
{
cout<<"** ZCBaseListEx11 : ChangeCapacity("<<AI_AddCut<<")"<<endl;
}/*
_VT_ void ChangeCapacity(ZTypLong AI_AddCut)*/
private:
};/*
class ZCBaseListEx11 : public ZtCBaseList*/
@ -348,7 +360,7 @@ namespace ZNsMain
VO_ZCBaseListEx11.AddTail(VO_CStringBase("data ex 11-1"));
VO_ZCBaseListEx11.AddTail(VO_CStringBase("data ex 11-2"));
cout<<endl<<"# VO_ZCBaseListEx10_2 = VO_ZCBaseListEx11"<<endl<<endl;
cout<<endl<<"# VO_ZCBaseListEx10_2 = VO_ZCBaseListEx10"<<endl<<endl;
VO_ZCBaseListEx10_2 = VO_ZCBaseListEx10 ;
VO_ZCBaseListEx10_2.IterElement(&ShowDataInNode);
@ -356,14 +368,20 @@ namespace ZNsMain
VO_ZCBaseListEx10.AddTail().Fetch(VO_CStringBase("data ex 10-3"));
VO_ZCBaseListEx10.AddTail().Fetch(VO_CStringBase("data ex 10-4"));
cout<<endl<<"# VO_ZCBaseListEx10_2 = VO_ZCBaseListEx11 after VO_ZCBaseListEx10.AddTail() 2 times"<<endl<<endl;
cout<<endl<<"# VO_ZCBaseListEx10_2 = VO_ZCBaseListEx10 after VO_ZCBaseListEx10.AddTail() 2 times"<<endl<<endl;
VO_ZCBaseListEx10_2 = VO_ZCBaseListEx10 ;
VO_ZCBaseListEx10_2.IterElement(&ShowDataInNode);
cout<<endl<<"# VO_ZCBaseListEx10_2.AddHead(VO_ZCBaseListEx10)"<<endl<<endl;
VO_ZCBaseListEx10_2.AddHead(VO_ZCBaseListEx10) ;
VO_ZCBaseListEx10_2.IterElemRev(&ShowDataInNode);
VO_ZCBaseListEx10_2.DeleteTail();
cout<<endl<<"# VO_ZCBaseListEx10_2DeleteTail()"<<endl<<endl;
cout<<endl<<"# VO_ZCBaseListEx10_2 : DeleteTail()"<<endl<<endl;
return 0;
}/*