commit 2025-10-15 18:44 edit a bit ZCppMainTest/ZtCBaseList_000.cpp
This commit is contained in:
@ -696,6 +696,22 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
cout<<VO_Iter.GetPos()<<" : "<<*VO_Iter<<endl;
|
cout<<VO_Iter.GetPos()<<" : "<<*VO_Iter<<endl;
|
||||||
}
|
}
|
||||||
|
cout<<"*****************************************************"<<endl;
|
||||||
|
|
||||||
|
_FOR_ITER_EASY_START0_C(ZCBaseListEx10, VO_ZCBaseListEx10_2, VH_NowIter, i)
|
||||||
|
{
|
||||||
|
cout<<"# list10_2 const: "<<(i+1)<<" "<<VO_ZCBaseListEx10_2.ItD(VH_NowIter)<<endl;
|
||||||
|
}
|
||||||
|
_FOR_ITER_EASY_CLOSE0_C(ZCLinkStrList, VO_ZCBaseListEx10_2, VH_NowIter, i)
|
||||||
|
cout<<"*****************************************************"<<endl;
|
||||||
|
|
||||||
|
_FOR_ITER_EASY_START0_RC(ZCBaseListEx10, VO_ZCBaseListEx10_2, VH_NowIter, i)
|
||||||
|
{
|
||||||
|
cout<<"# list10_2 rev const: "<<(i+1)<<" "<<VO_ZCBaseListEx10_2.ItD(VH_NowIter)<<endl;
|
||||||
|
}
|
||||||
|
_FOR_ITER_EASY_CLOSE0_RC(ZCLinkStrList, VO_ZCBaseListEx10_2, VH_NowIter, i)
|
||||||
|
cout<<"*****************************************************"<<endl;
|
||||||
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}/*
|
}/*
|
||||||
|
@ -71,12 +71,14 @@ namespace ZNsMain
|
|||||||
|
|
||||||
typedef ZNsIFaceEx::ZtCLink
|
typedef ZNsIFaceEx::ZtCLink
|
||||||
<ZCEmpty, ZCLinkData> ZCLinkBase;
|
<ZCEmpty, ZCLinkData> ZCLinkBase;
|
||||||
|
typedef ZNsIFaceEx::ZtCLink
|
||||||
|
<string , ZCEmpty > ZCLinkStr ;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
typedef ZCLinkData ZCLinkCStr ;
|
typedef ZtCLinkList<ZCLinkBase> ZCLinkDataList;
|
||||||
typedef ZtCLinkList<ZCLinkBase> ZCLinkStrList;
|
typedef ZtCLinkList<ZCLinkStr > ZCLinkStrList ;
|
||||||
typedef typename
|
typedef typename
|
||||||
ZCLinkStrList::ZCLinkOpt ZCStrLinkOpt ;
|
ZCLinkDataList::ZCLinkOpt ZCStrLinkOpt ;
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
||||||
@ -108,23 +110,28 @@ namespace ZNsMain
|
|||||||
|
|
||||||
static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)
|
static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)
|
||||||
{
|
{
|
||||||
ZTypLong VI_CallCnt = 0 ;
|
ZTypLong VI_CallCnt = 0 ;
|
||||||
ZCLinkStrList VO_ZCLinkStrLis1;
|
ZCLinkDataList VO_CDataLis1;
|
||||||
ZCLinkStrList VO_ZCLinkStrLis2;
|
ZCLinkDataList VO_CDataLis2;
|
||||||
ZCStrLinkOpt VO_StrLinkOpt = VO_ZCLinkStrLis1.GetObjOpt(1);
|
ZCLinkStrList VO_CStrLis20;
|
||||||
|
ZCStrLinkOpt VO_StrLinkOpt = VO_CDataLis1.GetObjOpt(1);
|
||||||
|
|
||||||
cout<<"# VO_StrLinkOpt.has_value()="<<VO_StrLinkOpt.has_value()<<endl;
|
cout<<"# VO_StrLinkOpt.has_value()="<<VO_StrLinkOpt.has_value()<<endl;
|
||||||
cout<<"# VO_StrLinkOpt.bool() ="<<bool(VO_StrLinkOpt) <<endl;
|
cout<<"# VO_StrLinkOpt.bool() ="<<bool(VO_StrLinkOpt) <<endl;
|
||||||
|
|
||||||
VO_ZCLinkStrLis1.AddTail()().GetData()=string("123");
|
VO_CDataLis1.AddTail()().GetData()=string("123");
|
||||||
VO_ZCLinkStrLis1.AddTail()().GetData()=string("ABC");
|
VO_CDataLis1.AddTail()().GetData()=string("ABC");
|
||||||
VO_ZCLinkStrLis1.AddTail()().GetData()=string("xyz");
|
VO_CDataLis1.AddTail()().GetData()=string("xyz");
|
||||||
|
|
||||||
VO_ZCLinkStrLis2.AddTail()().GetData()=string("Z01");
|
VO_CDataLis2.AddTail()().GetData()=string("Z01");
|
||||||
VO_ZCLinkStrLis2.AddTail()().GetData()=string("Z02");
|
VO_CDataLis2.AddTail()().GetData()=string("Z02");
|
||||||
VO_ZCLinkStrLis2.AddTail()().GetData()=string("Z03");
|
VO_CDataLis2.AddTail()().GetData()=string("Z03");
|
||||||
|
|
||||||
VO_StrLinkOpt = VO_ZCLinkStrLis1.GetObjOpt(1);
|
VO_CStrLis20.AddTail()()=string("__1");
|
||||||
|
VO_CStrLis20.AddTail()()=string("__2");
|
||||||
|
VO_CStrLis20.AddTail()()=string("__3");
|
||||||
|
|
||||||
|
VO_StrLinkOpt = VO_CDataLis1.GetObjOpt(1);
|
||||||
|
|
||||||
cout<<"# VO_StrLinkOpt.GetObjOpt(1) : has_value()="<<VO_StrLinkOpt.has_value()<<endl;
|
cout<<"# VO_StrLinkOpt.GetObjOpt(1) : has_value()="<<VO_StrLinkOpt.has_value()<<endl;
|
||||||
cout<<"# VO_StrLinkOpt.GetObjOpt(1) : bool ()="<<bool(VO_StrLinkOpt) <<endl;
|
cout<<"# VO_StrLinkOpt.GetObjOpt(1) : bool ()="<<bool(VO_StrLinkOpt) <<endl;
|
||||||
@ -136,7 +143,7 @@ namespace ZNsMain
|
|||||||
}/*
|
}/*
|
||||||
if(VO_StrLinkOpt.has_value())*/
|
if(VO_StrLinkOpt.has_value())*/
|
||||||
|
|
||||||
VO_StrLinkOpt = VO_ZCLinkStrLis1.GetTailOpt();
|
VO_StrLinkOpt = VO_CDataLis1.GetTailOpt();
|
||||||
|
|
||||||
cout<<"# VO_StrLinkOpt.GetTailOpt() : has_value()="<<VO_StrLinkOpt.has_value()<<endl;
|
cout<<"# VO_StrLinkOpt.GetTailOpt() : has_value()="<<VO_StrLinkOpt.has_value()<<endl;
|
||||||
cout<<"# VO_StrLinkOpt.GetTailOpt() : bool ()="<<bool(VO_StrLinkOpt) <<endl;
|
cout<<"# VO_StrLinkOpt.GetTailOpt() : bool ()="<<bool(VO_StrLinkOpt) <<endl;
|
||||||
@ -150,126 +157,138 @@ namespace ZNsMain
|
|||||||
|
|
||||||
|
|
||||||
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
|
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
|
||||||
VO_ZCLinkStrLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
VO_CDataLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||||
cout<<"***********************************************"<<endl;
|
cout<<"***********************************************"<<endl;
|
||||||
VO_ZCLinkStrLis1.IterElement(&ShowNode1, ZftMCP(VI_CallCnt=0));
|
VO_CDataLis1.IterElement(&ShowNode1, ZftMCP(VI_CallCnt=0));
|
||||||
|
|
||||||
|
|
||||||
VO_ZCLinkStrLis1.JoinHead(VO_ZCLinkStrLis2);
|
VO_CDataLis1.JoinHead(VO_CDataLis2);
|
||||||
|
|
||||||
cout<<"# after VO_ZCLinkStrLis1.JoinHead(VO_ZCLinkStrLis2)"<<endl;
|
cout<<"# after VO_CDataLis1.JoinHead(VO_CDataLis2)"<<endl;
|
||||||
|
|
||||||
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
|
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
|
||||||
VO_ZCLinkStrLis2.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
VO_CDataLis2.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||||
cout<<"***********************************************"<<endl;
|
cout<<"***********************************************"<<endl;
|
||||||
VO_ZCLinkStrLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
VO_CDataLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||||
cout<<"***********************************************"<<endl;
|
cout<<"***********************************************"<<endl;
|
||||||
VO_ZCLinkStrLis1.IterElement(&ShowNode1, ZftMCP(VI_CallCnt=0));
|
VO_CDataLis1.IterElement(&ShowNode1, ZftMCP(VI_CallCnt=0));
|
||||||
|
|
||||||
|
|
||||||
VO_ZCLinkStrLis2 = VO_ZCLinkStrLis1 ;
|
VO_CDataLis2 = VO_CDataLis1 ;
|
||||||
|
|
||||||
cout<<"# after VO_ZCLinkStrLis2 = VO_ZCLinkStrLis1"<<endl;
|
cout<<"# after VO_CDataLis2 = VO_CDataLis1"<<endl;
|
||||||
|
|
||||||
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
|
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
|
||||||
VO_ZCLinkStrLis2.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
VO_CDataLis2.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||||
cout<<"***********************************************"<<endl;
|
cout<<"***********************************************"<<endl;
|
||||||
VO_ZCLinkStrLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
VO_CDataLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||||
cout<<"***********************************************"<<endl;
|
cout<<"***********************************************"<<endl;
|
||||||
|
|
||||||
|
|
||||||
VO_ZCLinkStrLis1.IterElement(&AppendEach);
|
VO_CDataLis1.IterElement(&AppendEach);
|
||||||
cout<<"***********************************************"<<endl;
|
cout<<"***********************************************"<<endl;
|
||||||
VO_ZCLinkStrLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
VO_CDataLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||||
cout<<"***********************************************"<<endl;
|
cout<<"***********************************************"<<endl;
|
||||||
|
|
||||||
VO_ZCLinkStrLis1.SendRangeOutAfter
|
VO_CDataLis1.SendRangeOutAfter
|
||||||
(
|
(
|
||||||
VO_ZCLinkStrLis1.GetObjOpt(1).value()
|
VO_CDataLis1.GetObjOpt(1).value()
|
||||||
, VO_ZCLinkStrLis1.GetObjOpt(2).value()
|
, VO_CDataLis1.GetObjOpt(2).value()
|
||||||
, 2
|
, 2
|
||||||
, VO_ZCLinkStrLis2
|
, VO_CDataLis2
|
||||||
, VO_ZCLinkStrLis2.GetObjOpt(1)
|
, VO_CDataLis2.GetObjOpt(1)
|
||||||
) ;
|
) ;
|
||||||
cout<<"# after VO_ZCLinkStrLis1.SendRangeOutAfter(1th, 2th, 2, rhs, rhs's 1th)"<<endl;
|
cout<<"# after VO_CDataLis1.SendRangeOutAfter(1th, 2th, 2, rhs, rhs's 1th)"<<endl;
|
||||||
|
|
||||||
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
|
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
|
||||||
VO_ZCLinkStrLis2.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
VO_CDataLis2.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||||
cout<<"***********************************************"<<endl;
|
cout<<"***********************************************"<<endl;
|
||||||
VO_ZCLinkStrLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
VO_CDataLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||||
cout<<"***********************************************"<<endl;
|
cout<<"***********************************************"<<endl;
|
||||||
|
|
||||||
|
|
||||||
VO_ZCLinkStrLis2.SendRangeOutBefore
|
VO_CDataLis2.SendRangeOutBefore
|
||||||
(
|
(
|
||||||
VO_ZCLinkStrLis2.GetObjOpt(7).value()
|
VO_CDataLis2.GetObjOpt(7).value()
|
||||||
, VO_ZCLinkStrLis2.GetObjOpt(8).value()
|
, VO_CDataLis2.GetObjOpt(8).value()
|
||||||
, 2
|
, 2
|
||||||
, VO_ZCLinkStrLis1
|
, VO_CDataLis1
|
||||||
, VO_ZCLinkStrLis1.GetObjOpt(1)
|
, VO_CDataLis1.GetObjOpt(1)
|
||||||
) ;
|
) ;
|
||||||
cout<<"# after VO_ZCLinkStrLis2.SendRangeOutAfter(7th, 8th, 2, rhs, rhs's 1th)"<<endl;
|
cout<<"# after VO_CDataLis2.SendRangeOutAfter(7th, 8th, 2, rhs, rhs's 1th)"<<endl;
|
||||||
|
|
||||||
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
|
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
|
||||||
VO_ZCLinkStrLis2.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
VO_CDataLis2.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||||
cout<<"***********************************************"<<endl;
|
cout<<"***********************************************"<<endl;
|
||||||
VO_ZCLinkStrLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
VO_CDataLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||||
cout<<"***********************************************"<<endl;
|
cout<<"***********************************************"<<endl;
|
||||||
|
|
||||||
|
|
||||||
VO_ZCLinkStrLis2.CopyThis( RR(VO_ZCLinkStrLis1) );
|
VO_CDataLis2.CopyThis( RR(VO_CDataLis1) );
|
||||||
cout<<"# after VO_ZCLinkStrLis2.CopyThis( RR(VO_ZCLinkStrLis1) )"<<endl;
|
cout<<"# after VO_CDataLis2.CopyThis( RR(VO_CDataLis1) )"<<endl;
|
||||||
|
|
||||||
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
|
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
|
||||||
VO_ZCLinkStrLis2.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
VO_CDataLis2.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||||
cout<<"***********************************************"<<endl;
|
cout<<"***********************************************"<<endl;
|
||||||
VO_ZCLinkStrLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
VO_CDataLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||||
cout<<"***********************************************"<<endl;
|
cout<<"***********************************************"<<endl;
|
||||||
|
|
||||||
VO_ZCLinkStrLis1.SwapLink
|
VO_CDataLis1.SwapLink
|
||||||
(VO_ZCLinkStrLis1.HeadRef(), VO_ZCLinkStrLis1.HeadRef(1));
|
(VO_CDataLis1.HeadRef(), VO_CDataLis1.HeadRef(1));
|
||||||
cout<<"# after VO_ZCLinkStrLis1.SwapLink(1th, 2th)"<<endl;
|
cout<<"# after VO_CDataLis1.SwapLink(1th, 2th)"<<endl;
|
||||||
VO_ZCLinkStrLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
VO_CDataLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||||
cout<<"***********************************************"<<endl;
|
cout<<"***********************************************"<<endl;
|
||||||
|
|
||||||
VO_ZCLinkStrLis1.SwapLink
|
VO_CDataLis1.SwapLink
|
||||||
(VO_ZCLinkStrLis1.HeadRef(), VO_ZCLinkStrLis1.HeadRef(11));
|
(VO_CDataLis1.HeadRef(), VO_CDataLis1.HeadRef(11));
|
||||||
cout<<"# after VO_ZCLinkStrLis1.SwapLink(1th, 12th)"<<endl;
|
cout<<"# after VO_CDataLis1.SwapLink(1th, 12th)"<<endl;
|
||||||
VO_ZCLinkStrLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
VO_CDataLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||||
cout<<"***********************************************"<<endl;
|
cout<<"***********************************************"<<endl;
|
||||||
|
|
||||||
VO_ZCLinkStrLis1.SwapLink
|
VO_CDataLis1.SwapLink
|
||||||
(VO_ZCLinkStrLis1.HeadRef(11), VO_ZCLinkStrLis1.HeadRef(10));
|
(VO_CDataLis1.HeadRef(11), VO_CDataLis1.HeadRef(10));
|
||||||
cout<<"# after VO_ZCLinkStrLis1.SwapLink(12th, 11th)"<<endl;
|
cout<<"# after VO_CDataLis1.SwapLink(12th, 11th)"<<endl;
|
||||||
VO_ZCLinkStrLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
VO_CDataLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||||
cout<<"***********************************************"<<endl;
|
cout<<"***********************************************"<<endl;
|
||||||
|
|
||||||
VO_ZCLinkStrLis1.MoveLinkTail
|
VO_CDataLis1.MoveLinkTail
|
||||||
(VO_ZCLinkStrLis1.HeadRef());
|
(VO_CDataLis1.HeadRef());
|
||||||
cout<<"# after VO_ZCLinkStrLis1.MoveLinkTail(1th)"<<endl;
|
cout<<"# after VO_CDataLis1.MoveLinkTail(1th)"<<endl;
|
||||||
VO_ZCLinkStrLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
VO_CDataLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||||
cout<<"***********************************************"<<endl;
|
cout<<"***********************************************"<<endl;
|
||||||
|
|
||||||
|
|
||||||
_FOR_ITER_EASY_START0_C(ZCLinkStrList, VO_ZCLinkStrLis1, VH_NowIter, i)
|
_FOR_ITER_EASY_START0_C(ZCLinkDataList, VO_CDataLis1, VH_NowIter, i)
|
||||||
{
|
{
|
||||||
cout<<"# list1 const: "<<(i+1)<<" "<<VO_ZCLinkStrLis1.ItD(VH_NowIter).GetData()<<endl;
|
cout<<"# list1 const: "<<(i+1)<<" "<<VO_CDataLis1.ItD(VH_NowIter).GetData()<<endl;
|
||||||
}
|
}
|
||||||
_FOR_ITER_EASY_CLOSE0_C(ZCLinkStrList, VO_ZCLinkStrLis1, VH_NowIter, i)
|
_FOR_ITER_EASY_CLOSE0_C(ZCLinkDataList, VO_CDataLis1, VH_NowIter, i)
|
||||||
cout<<"***********************************************"<<endl;
|
cout<<"***********************************************"<<endl;
|
||||||
|
|
||||||
_FOR_ITER_EASY_START0_RC(ZCLinkStrList, VO_ZCLinkStrLis1, VH_NowIter, i)
|
_FOR_ITER_EASY_START0_RC(ZCLinkDataList, VO_CDataLis1, VH_NowIter, i)
|
||||||
{
|
{
|
||||||
cout<<"# list1 rev const: "<<(i+1)<<" "<<VO_ZCLinkStrLis1.ItD(VH_NowIter).GetData()<<endl;
|
cout<<"# list1 rev const: "<<(i+1)<<" "<<VO_CDataLis1.ItD(VH_NowIter).GetData()<<endl;
|
||||||
}
|
}
|
||||||
_FOR_ITER_EASY_CLOSE0_RC(ZCLinkStrList, VO_ZCLinkStrLis1, VH_NowIter, i)
|
_FOR_ITER_EASY_CLOSE0_RC(ZCLinkDataList, VO_CDataLis1, VH_NowIter, i)
|
||||||
cout<<"***********************************************"<<endl;
|
cout<<"***********************************************"<<endl;
|
||||||
|
|
||||||
|
|
||||||
__for_it(ZCLinkStrList, VO_ZCLinkStrLis1, VH_NowIter)
|
__for_it(ZCLinkDataList, VO_CDataLis1, VH_NowIter)
|
||||||
{
|
{
|
||||||
cout<<"# list1 __for_it : "<<VH_NowIter.GetPos()<<" "<<(*VH_NowIter).GetData()<<endl;
|
cout<<"# list1 __for_it : "<<VH_NowIter.GetPos()<<" "<<(*VH_NowIter).GetData()<<endl;
|
||||||
}
|
}
|
||||||
|
cout<<"***********************************************"<<endl;
|
||||||
|
__for_it(ZCLinkStrList , VO_CStrLis20, VH_NowIter)
|
||||||
|
{
|
||||||
|
cout<<"# list20 __for_it : "<<VH_NowIter.GetPos()<<" "<<(*VH_NowIter)<<endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
_FOR_ITER_EASY_START0_C(ZCLinkStrList, VO_CStrLis20, VH_NowIter, i)
|
||||||
|
{
|
||||||
|
cout<<"# list20 const: "<<(i+1)<<" "<<VO_CStrLis20.ItD(VH_NowIter)<<endl;
|
||||||
|
}
|
||||||
|
_FOR_ITER_EASY_CLOSE0_C(ZCLinkStrList, VO_CStrLis20, VH_NowIter, i)
|
||||||
|
cout<<"***********************************************"<<endl;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}/*
|
}/*
|
||||||
|
Reference in New Issue
Block a user