commit 2025-10-03 04:31 add RecvFreeIn() etc in ZtCBaseList : ZCppMain/ZMainHead.H

This commit is contained in:
2025-10-03 04:31:25 +09:00
parent b8ae34461b
commit c0cc5540b5
2 changed files with 365 additions and 127 deletions

View File

@ -88,10 +88,7 @@ namespace ZNsMain
class ZCBaseListEx10 : public ZtCBaseList
<
CStringBase
, CStringBase&
, ZCAllocator
, ZTypLong
CStringBase, CStringBase&, ZCAllocator, ZTypLong
, ZNsMain::ZtCMoveObj <CStringBase, CStringBase&, true>
, ZNsType::ZtCTypeCRTP<ZCBaseListEx10, true>
>
@ -100,10 +97,7 @@ namespace ZNsMain
typedef ZtCBaseList ///////////////////////////////////////////////////////
<
CStringBase
, CStringBase&
, ZCAllocator
, ZTypLong
CStringBase, CStringBase&, ZCAllocator, ZTypLong
, ZNsMain::ZtCMoveObj <CStringBase, CStringBase&, true>
, ZNsType::ZtCTypeCRTP<ZCBaseListEx10, true>
>
@ -111,10 +105,7 @@ namespace ZNsMain
friend class ZtCBaseList //////////////////////////////////////////////////
<
CStringBase
, CStringBase&
, ZCAllocator
, ZTypLong
CStringBase, CStringBase&, ZCAllocator, ZTypLong
, ZNsMain::ZtCMoveObj <CStringBase, CStringBase&, true>
, ZNsType::ZtCTypeCRTP<ZCBaseListEx10, true>
>;
@ -124,29 +115,62 @@ namespace ZNsMain
private:
_VT_ ZCLink* NewLink()
_VT_ ZCLink* SendFreeOut()
{
cout<<"** ZCBaseListEx10 : NewLink()"<<endl;
cout<<"** ZCBaseListEx10 : SendFreeOut()"<<endl;
return new ZCLink;
return this->ZCBaseList::NewLink();
}/*
_VT_ ZCLink* NewLink()*/
_VT_ ZCLink* SendFreeOut()*/
_VT_ ZCLink* NewLink(CStringBase& AO_ArgData)
_VT_ ZCLink* SendFreeOut(CStringBase& AO_ArgData)
{
cout<<"** ZCBaseListEx10 : NewLink(TypeArg)"<<endl;
cout<<"** ZCBaseListEx10 : SendFreeOut(TypeArg)"<<endl;
return new ZCLink(AO_ArgData);
return this->ZCBaseList::NewLink(AO_ArgData);
}/*
_VT_ ZCLink* NewLink(CStringBase& AO_ArgData)*/
_VT_ ZCLink* SendFreeOut(CStringBase& AO_ArgData)*/
_VT_ void DelLink(ZCLink* AP_DelLink)
_VT_ void SendFreeOut
(ZTypLong AL_NeedCnt, ZCLink*& APR_HeadLink, ZCLink*& APR_TailLink)
{
cout<<"** ZCBaseListEx10 : DelLink(ZCLink*)"<<endl;
cout<<"** ZCBaseListEx10 : SendFreeOut(ZTypLong, ZCLink*&, ZCLink*&)"<<endl;
delete AP_DelLink;
this->ZCBaseList::NewLink(AL_NeedCnt, APR_HeadLink, APR_TailLink);
}
_VT_ void SendFreeOutCopy /*///////////////////////*/
(
ZCLink* AP_LinkOrgin, ZTypLong AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
/////////////////////////////////////////////////////
{
cout<<"** ZCBaseListEx10 : SendFreeOut(ZCLink*, ZTypLong, ZCLink*&, ZCLink*&)"<<endl;
this->ZCBaseList::NewLinkCopy(AP_LinkOrgin, AL_FarNum, APR_HeadCopy, APR_TailCopy);
}
_VT_ void RecvFreeIn(ZCLink* AP_DelLink)
{
cout<<"** ZCBaseListEx10 : RecvFreeIn(AP_DelLink)"<<endl;
this->ZCBaseList::DelLink(AP_DelLink);
}/*
_VT_ void DelLink(ZCLink* AP_DelLink)*/
_VT_ void RecvFreeIn(ZCLink* AP_DelLink)*/
_VT_ void RecvFreeIn //////////////////////////////////
(
ZTypLong AL_CutCnt ,
ZCLink* AP_CutHead,
ZCLink* AP_CutTail
)
///////////////////////////////////////////////////////
{
cout<<"** ZCBaseListEx10 : RecvFreeIn(ZTypLong, AP_CutHead, AP_CutTail)"<<endl;
this->ZCBaseList::DelLink(AL_CutCnt, AP_CutHead, AP_CutTail);
}
private:
};/*
@ -155,10 +179,7 @@ namespace ZNsMain
class ZCBaseListEx11 : public ZtCBaseList
<
CStringBase
, CStringBase&
, ZCAllocator
, ZTypLong
CStringBase, CStringBase&, ZCAllocator, ZTypLong
, ZNsMain::ZtCMoveObj <CStringBase, CStringBase&, true>
, ZNsType::ZtCTypeCRTP<ZCBaseListEx11, false>
>
@ -167,10 +188,7 @@ namespace ZNsMain
typedef ZtCBaseList ///////////////////////////////////////////////////////
<
CStringBase
, CStringBase&
, ZCAllocator
, ZTypLong
CStringBase, CStringBase&, ZCAllocator, ZTypLong
, ZNsMain::ZtCMoveObj <CStringBase, CStringBase&, true>
, ZNsType::ZtCTypeCRTP<ZCBaseListEx11, false>
>
@ -178,10 +196,7 @@ namespace ZNsMain
friend class ZtCBaseList //////////////////////////////////////////////////
<
CStringBase
, CStringBase&
, ZCAllocator
, ZTypLong
CStringBase, CStringBase&, ZCAllocator, ZTypLong
, ZNsMain::ZtCMoveObj <CStringBase, CStringBase&, true>
, ZNsType::ZtCTypeCRTP<ZCBaseListEx11, false>
>;
@ -191,29 +206,62 @@ namespace ZNsMain
private:
_VT_ ZCLink* NewLink()
_VT_ ZCLink* SendFreeOut()
{
cout<<"** ZCBaseListEx11 : NewLink()"<<endl;
cout<<"** ZCBaseListEx11 : SendFreeOut()"<<endl;
return new ZCLink;
return this->ZCBaseList::NewLink();
}/*
_VT_ ZCLink* NewLink()*/
_VT_ ZCLink* SendFreeOut()*/
_VT_ ZCLink* NewLink(CStringBase& AO_ArgData)
_VT_ ZCLink* SendFreeOut(CStringBase& AO_ArgData)
{
cout<<"** ZCBaseListEx11 : NewLink(TypeArg)"<<endl;
cout<<"** ZCBaseListEx11 : SendFreeOut(CStringBase&)"<<endl;
return new ZCLink(AO_ArgData);
return this->ZCBaseList::NewLink(AO_ArgData);
}/*
_VT_ ZCLink* NewLink(CStringBase& AO_ArgData)*/
_VT_ ZCLink* SendFreeOut(CStringBase& AO_ArgData)*/
_VT_ void DelLink(ZCLink* AP_DelLink)
_VT_ void SendFreeOut
(ZTypLong AL_NeedCnt, ZCLink*& APR_HeadLink, ZCLink*& APR_TailLink)
{
cout<<"** ZCBaseListEx11 : DelLink(ZCLink*)"<<endl;
cout<<"** ZCBaseListEx11 : SendFreeOut(ZTypLong, ZCLink*&, ZCLink*&)"<<endl;
delete AP_DelLink;
this->ZCBaseList::NewLink(AL_NeedCnt, APR_HeadLink, APR_TailLink);
}
_VT_ void SendFreeOutCopy /*///////////////////////*/
(
ZCLink* AP_LinkOrgin, ZTypLong AL_FarNum ,
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
/////////////////////////////////////////////////////
{
cout<<"** ZCBaseListEx11 : SendFreeOut(ZCLink*, ZTypLong, ZCLink*&, ZCLink*&)"<<endl;
this->ZCBaseList::NewLinkCopy(AP_LinkOrgin, AL_FarNum, APR_HeadCopy, APR_TailCopy);
}
_VT_ void RecvFreeIn(ZCLink* AP_DelLink)
{
cout<<"** ZCBaseListEx11 : RecvFreeIn(AP_DelLink)"<<endl;
this->ZCBaseList::DelLink(AP_DelLink);
}/*
_VT_ void DelLink(ZCLink* AP_DelLink)*/
_VT_ void RecvFreeIn(ZCLink* AP_DelLink)*/
_VT_ void RecvFreeIn //////////////////////////////////
(
ZTypLong AL_CutCnt ,
ZCLink* AP_CutHead,
ZCLink* AP_CutTail
)
///////////////////////////////////////////////////////
{
cout<<"** ZCBaseListEx11: RecvFreeIn(ZTypLong, AP_CutHead, AP_CutTail)"<<endl;
this->ZCBaseList::DelLink(AL_CutCnt, AP_CutHead, AP_CutTail);
}
private:
};/*
@ -286,15 +334,37 @@ namespace ZNsMain
VO_CIntList.IterElement(StFunctor6::ShowElement, ZftMCP(VO_CHelpObj), VO_CHelpObj );
ZCBaseListEx10 VO_ZCBaseListEx10;
ZCBaseListEx11 VO_ZCBaseListEx11;
cout<<endl<<"#### ZCBaseListEx10 and ZCBaseListEx11 ####"<<endl<<endl;
VO_ZCBaseListEx10.AddTail(VO_CStringBase("data ex 11-1"));
VO_ZCBaseListEx10.AddTail(VO_CStringBase("data ex 11-2"));
ZCBaseListEx10 VO_ZCBaseListEx10 ;
ZCBaseListEx10 VO_ZCBaseListEx10_2;
ZCBaseListEx11 VO_ZCBaseListEx11 ;
VO_CStringBase="";
VO_ZCBaseListEx10.AddTail(VO_CStringBase("data ex 10-1"));
VO_ZCBaseListEx10.AddTail(VO_CStringBase("data ex 10-2"));
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;
VO_ZCBaseListEx10_2 = VO_ZCBaseListEx10 ;
VO_ZCBaseListEx10_2.IterElement(&ShowDataInNode);
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;
VO_ZCBaseListEx10_2 = VO_ZCBaseListEx10 ;
VO_ZCBaseListEx10_2.IterElement(&ShowDataInNode);
VO_ZCBaseListEx10_2.DeleteTail();
cout<<endl<<"# VO_ZCBaseListEx10_2DeleteTail()"<<endl<<endl;
return 0;
}/*
static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)*/