commit 2025-10-06 11:12 add Argument ZCLink* => ZCLink& in SendOutAfter() and SendOutBefore() : ZCppMain/ZtCObjList.H
This commit is contained in:
@ -2171,38 +2171,28 @@ namespace ZNsMain
|
||||
###############################################################################*/
|
||||
|
||||
|
||||
void SendOutAfter(ZCLink* AP_CutLink, ZtCObjList& rhs, ZCLink* AP_StdLink)
|
||||
void SendOutAfter (ZCLink& AR_CutLink, ZtCObjList& rhs, ZCLink& AR_StdLink)
|
||||
{
|
||||
// AP_CutLink 를 잘라서 rhs 의 AP_StdLink 뒤에 연결한다.
|
||||
// AP_StdLink==0 이면, rhs 의 앞에 삽입한다.
|
||||
// AR_CutLink 를 잘라서 rhs 의 AR_StdLink 뒤에 연결한다.
|
||||
|
||||
CutLink(AP_CutLink); rhs.JoinAfter(AP_CutLink, AP_StdLink);
|
||||
CutLink(&AR_CutLink); rhs.JoinAfter(&AR_CutLink, &AR_StdLink);
|
||||
}/*
|
||||
void SendOutAfter(ZCLink* AP_CutLink, ZtCObjList& rhs, ZCLink* AP_StdLink)*/
|
||||
void SendOutAfter (ZCLink& AR_CutLink, ZtCObjList& rhs, ZCLink& AR_StdLink)*/
|
||||
|
||||
void SendOutBefore(ZCLink* AP_CutLink, ZtCObjList& rhs, ZCLink* AP_StdLink)
|
||||
void SendOutBefore(ZCLink& AR_CutLink, ZtCObjList& rhs, ZCLink& AR_StdLink)
|
||||
{
|
||||
// AP_CutLink 를 잘라서 rhs 의 AP_StdLink 앞에 연결한다.
|
||||
// AP_StdLink==0 이면, rhs 의 뒤에 삽입한다.
|
||||
// AR_CutLink 를 잘라서 rhs 의 AR_StdLink 앞에 연결한다.
|
||||
|
||||
CutLink(AP_CutLink); rhs.JoinBefore(AP_CutLink, AP_StdLink);
|
||||
CutLink(&AR_CutLink); rhs.JoinBefore(&AR_CutLink, &AR_StdLink);
|
||||
}/*
|
||||
void SendOutBefore(ZCLink* AP_CutLink, ZtCObjList& rhs, ZCLink* AP_StdLink)*/
|
||||
void SendOutBefore(ZCLink& AR_CutLink, ZtCObjList& rhs, ZCLink& AR_StdLink)*/
|
||||
|
||||
|
||||
void SendOutHead(ZCLink* AP_CutLink, ZtCObjList& rhs)
|
||||
{
|
||||
// AP_CutLink 를 잘라서 rhs 의 앞에 연결한다.
|
||||
void SendOutHead(ZCLink& AR_CutLink, ZtCObjList& rhs)
|
||||
{ CutLink(&AR_CutLink); rhs.JoinAfter (&AR_CutLink, 0); }
|
||||
|
||||
SendOutAfter (AP_CutLink, rhs, 0);
|
||||
}
|
||||
void SendOutTail(ZCLink* AP_CutLink, ZtCObjList& rhs)
|
||||
{
|
||||
// AP_CutLink 를 잘라서 rhs 의 뒤에 연결한다.
|
||||
|
||||
SendOutBefore(AP_CutLink, rhs, 0);
|
||||
}/*
|
||||
void SendOutTail(ZCLink* AP_CutLink, ZtCObjList& rhs)*/
|
||||
void SendOutTail(ZCLink& AR_CutLink, ZtCObjList& rhs)
|
||||
{ CutLink(&AR_CutLink); rhs.JoinBefore(&AR_CutLink, 0); }
|
||||
|
||||
|
||||
operator Type&()
|
||||
@ -2214,43 +2204,12 @@ namespace ZNsMain
|
||||
|
||||
Type& GetData(TypeSize AI_Index)
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
|
||||
if(AI_Index<1 || AI_Index>ml_LinkSize)
|
||||
{
|
||||
std::fstream fileout("DEBUG.txt",std::ios::out | std::ios::app);
|
||||
fileout<<std::endl<<"File : "<<__FILE__<<std::endl<<"Line : "<<__LINE__<<std::endl;
|
||||
fileout<<"Error In 'Type& GetData(TypeSize AI_Index)' : Parameter is bad index("<<AI_Index<<")"<<std::endl;
|
||||
fileout.close();
|
||||
|
||||
::exit(1);
|
||||
}/*
|
||||
if(AI_Index<1 || AI_Index>ml_LinkSize)*/
|
||||
|
||||
#endif //_DEBUG
|
||||
|
||||
return GetLinkPtr(AI_Index)->GetData();
|
||||
}/*
|
||||
Type& GetData(TypeSize AI_Index)*/
|
||||
|
||||
|
||||
const Type& GetData(TypeSize AI_Index) const
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
|
||||
if(AI_Index<1 || AI_Index>ml_LinkSize)
|
||||
{
|
||||
std::fstream fileout("DEBUG.txt",std::ios::out | std::ios::app);
|
||||
fileout<<std::endl<<"File : "<<__FILE__<<std::endl<<"Line : "<<__LINE__<<std::endl;
|
||||
fileout<<"Error In 'const Type& GetData(TypeSize AI_Index) const' : Parameter is bad index("<<AI_Index<<")"<<std::endl;
|
||||
fileout.close();
|
||||
|
||||
::exit(1);
|
||||
}/*
|
||||
if(AI_Index<1 || AI_Index>ml_LinkSize)*/
|
||||
|
||||
#endif //_DEBUG
|
||||
|
||||
return GetLinkPtr(AI_Index)->GetData();
|
||||
}/*
|
||||
const Type& GetData(TypeSize AI_Index) const*/
|
||||
@ -2258,85 +2217,24 @@ namespace ZNsMain
|
||||
|
||||
Type& GetHeadData()
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
|
||||
if(mp_HeadLink==0)
|
||||
{
|
||||
std::fstream fileout("DEBUG.txt",std::ios::out | std::ios::app);
|
||||
fileout<<std::endl<<"File : "<<__FILE__<<std::endl<<"Line : "<<__LINE__<<std::endl;
|
||||
fileout<<"Error In 'Type& ZNsMain::ZtCObjList::GetHeadData()' : Type Instance is nothing"<<std::endl;
|
||||
fileout.close();
|
||||
|
||||
::exit(1);
|
||||
}/*
|
||||
if(mp_HeadLink==0)*/
|
||||
|
||||
#endif //#_DEBUG
|
||||
|
||||
return mp_HeadLink->GetData();
|
||||
}/*
|
||||
Type& GetHeadData()*/
|
||||
|
||||
const Type& GetHeadData() const
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
|
||||
if(mp_HeadLink==0)
|
||||
{
|
||||
std::fstream fileout("DEBUG.txt",std::ios::out | std::ios::app);
|
||||
fileout<<std::endl<<"File : "<<__FILE__<<std::endl<<"Line : "<<__LINE__<<std::endl;
|
||||
fileout<<"Error In 'const Type& ZNsMain::ZtCObjList::GetHeadData() const' : Type Instance is nothing"<<std::endl;
|
||||
fileout.close();
|
||||
|
||||
::exit(1);
|
||||
}/*
|
||||
if(mp_HeadLink==0)*/
|
||||
|
||||
#endif //_DEBUG
|
||||
|
||||
return mp_HeadLink->GetData();
|
||||
}/*
|
||||
const Type& GetHeadData() const*/
|
||||
|
||||
|
||||
Type& GetTailData()
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
|
||||
if(mp_HeadLink==0)
|
||||
{
|
||||
std::fstream fileout("DEBUG.txt",std::ios::out | std::ios::app);
|
||||
fileout<<std::endl<<"File : "<<__FILE__<<std::endl<<"Line : "<<__LINE__<<std::endl;
|
||||
fileout<<"Error In 'Type& ZNsMain::ZtCObjList::GetTailData()' : Type Instance is nothing"<<std::endl;
|
||||
fileout.close();
|
||||
|
||||
::exit(1);
|
||||
}/*
|
||||
if(mp_HeadLink==0)*/
|
||||
|
||||
#endif //_DEBUG
|
||||
|
||||
return mp_HeadLink->mp_PrevLink->GetData();
|
||||
}/*
|
||||
Type& GetTailData()*/
|
||||
|
||||
const Type& GetHeadData() const
|
||||
{
|
||||
return mp_HeadLink->GetData();
|
||||
}/*
|
||||
const Type& GetHeadData() const*/
|
||||
|
||||
const Type& GetTailData() const
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
|
||||
if(mp_HeadLink==0)
|
||||
{
|
||||
std::fstream fileout("DEBUG.txt",std::ios::out | std::ios::app);
|
||||
fileout<<std::endl<<"File : "<<__FILE__<<std::endl<<"Line : "<<__LINE__<<std::endl;
|
||||
fileout<<"Error In 'const Type& ZNsMain::ZtCObjList::GetTailData() const' : Type Instance is nothing"<<std::endl;
|
||||
fileout.close();
|
||||
|
||||
::exit(1);
|
||||
}/*
|
||||
if(mp_HeadLink==0)*/
|
||||
|
||||
#endif //_DEBUG
|
||||
|
||||
return mp_HeadLink->mp_PrevLink->GetData();
|
||||
}/*
|
||||
const Type& GetTailData() const*/
|
||||
|
@ -81,6 +81,23 @@ namespace ZNsMain
|
||||
static void ShowNode2(ZCLink2& AR_CLink, int& ARRI_CallCnt)*/
|
||||
|
||||
|
||||
static void ShowNode1_3(ZCLink1& AR_CLink, int& ARRI_CallCnt)
|
||||
{
|
||||
++ARRI_CallCnt;
|
||||
|
||||
cout<<ARRI_CallCnt<<" * Node Curr : "<<*(AR_CLink )<<endl;
|
||||
}/*
|
||||
static void ShowNode1(ZCLink1& AR_CLink, int& ARRI_CallCnt)*/
|
||||
|
||||
static void ShowNode2_3(ZCLink2& AR_CLink, int& ARRI_CallCnt)
|
||||
{
|
||||
++ARRI_CallCnt;
|
||||
|
||||
cout<<ARRI_CallCnt<<" * Node Curr : "<<*(AR_CLink )<<endl;
|
||||
}/*
|
||||
static void ShowNode2(ZCLink2& AR_CLink, int& ARRI_CallCnt)*/
|
||||
|
||||
|
||||
static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)
|
||||
{
|
||||
CStringBase VO_CStringBase ;
|
||||
@ -257,7 +274,7 @@ namespace ZNsMain
|
||||
VO_ListOfStr10.IterElemLink(&ShowNode1_2, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<"# list10 2th link to list11 tail"<<endl;
|
||||
VO_ListOfStr10.SendOutTail(VO_ListOfStr10.GetLinkPtr(2), VO_ListOfStr11);
|
||||
VO_ListOfStr10.SendOutTail(*VO_ListOfStr10.GetLinkPtr(2), VO_ListOfStr11);
|
||||
|
||||
cout<<"# list10 IterElemLink ################"<<endl;
|
||||
VO_ListOfStr10.IterElemLink(&ShowNode1_2, ZftMCP(VI_CallCnt=0));
|
||||
@ -265,12 +282,12 @@ namespace ZNsMain
|
||||
VO_ListOfStr11.IterElemLink(&ShowNode1_2, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<"# list10 1th link to list10 head"<<endl;
|
||||
VO_ListOfStr10.SendOutHead(VO_ListOfStr10.GetLinkPtr(1), VO_ListOfStr11);
|
||||
VO_ListOfStr10.SendOutHead(*VO_ListOfStr10.GetLinkPtr(1), VO_ListOfStr11);
|
||||
|
||||
cout<<"# list10 IterElemLink ################"<<endl;
|
||||
VO_ListOfStr10.IterElemLink(&ShowNode1_2, ZftMCP(VI_CallCnt=0));
|
||||
VO_ListOfStr10.IterElemLink(&ShowNode1_3, ZftMCP(VI_CallCnt=0));
|
||||
cout<<"# list11 IterElemLink ################"<<endl;
|
||||
VO_ListOfStr11.IterElemLink(&ShowNode1_2, ZftMCP(VI_CallCnt=0));
|
||||
VO_ListOfStr11.IterElemLink(&ShowNode1_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user