commit 2025-10-13 12:33 edit a bit ZCppMain/ZtCObjList.H

This commit is contained in:
2025-10-13 22:33:17 +09:00
parent 6cc8cff669
commit b1958e065a
2 changed files with 156 additions and 191 deletions

View File

@ -882,17 +882,17 @@ namespace ZNsMain
}/*
const TType& GetData() const*/
TType& GetData(TTypSize AL_FarNum) // must AL_FarNum >= 0
TType& GetData(TypeSize AL_FarNum) // must AL_FarNum >= 0
{
return GetNextPtr(AL_FarNum)->mo_DataObjt;
}/*
TType& GetData(TTypSize AL_FarNum)*/
TType& GetData(TypeSize AL_FarNum)*/
const TType& GetData(TTypSize AL_FarNum) const
const TType& GetData(TypeSize AL_FarNum) const
{
return GetNextPtr(AL_FarNum)->mo_DataObjt;
}/*
const TType& GetData(TTypSize AL_FarNum) const*/
const TType& GetData(TypeSize AL_FarNum) const*/
TType& operator* (){return mo_DataObjt;}
@ -902,9 +902,9 @@ namespace ZNsMain
const TType& operator()() const{return mo_DataObjt;}
ZCLink* GetNextPtr(TTypSize AL_FarNum) // must AL_FarNum > 0
ZCLink* GetNextPtr(TypeSize AL_FarNum) // must AL_FarNum > 0
{
// 이 멤버 함수는 TTypSize 가 용랑이 큰 object 라 할지라도
// 이 멤버 함수는 TypeSize 가 용랑이 큰 object 라 할지라도
// 이 함수 내부에서 값이 변하고 있으므로 참조로 받지 않는다.
ZCLink* VP_TmpLink=this;
@ -915,13 +915,13 @@ namespace ZNsMain
return VP_TmpLink;
}/*
ZCLink* GetNextPtr(TTypSize AL_FarNum)*/
ZCLink* GetNextPtr(TypeSize AL_FarNum)*/
const ZCLink* const GetNextPtr(TTypSize AL_FarNum) const // or ZCLink const * const GetNextPtr(TTypSize AL_FarNum) const
const ZCLink* const GetNextPtr(TypeSize AL_FarNum) const // or ZCLink const * const GetNextPtr(TypeSize AL_FarNum) const
{
// TTypSize 가 object 일 경우 AL_FarNum 의 값이 이 함수에서 변하고 있으므로
// TTypSize 을 참조로 받으면 안된다.
// TypeSize 가 object 일 경우 AL_FarNum 의 값이 이 함수에서 변하고 있으므로
// TypeSize 을 참조로 받으면 안된다.
ZCLink* VP_TmpLink = const_cast<ZCLink*>(this);
@ -935,7 +935,7 @@ namespace ZNsMain
return VP_TmpLink;
}/*
const ZCLink* const GetNextPtr(TTypSize AL_FarNum) const*/
const ZCLink* const GetNextPtr(TypeSize AL_FarNum) const*/
inline ZCLink* GetNextPtr()
@ -960,11 +960,11 @@ namespace ZNsMain
{
ZCLink* VP_CLinkLoop=this;
__for0(TTypSize, i, AL_Offset)
__for0(TypeSize, i, AL_Offset)
{
VP_CLinkLoop = VP_CLinkLoop->mp_NextLink;
}/*
__for0(TTypSize, i, AL_Offset)*/
__for0(TypeSize, i, AL_Offset)*/
return *this;
}/*
@ -1250,7 +1250,7 @@ namespace ZNsMain
/*************************************************************/
protected:
TTypSize ml_LinkSize ;
TypeSize ml_LinkSize ;
ZCLink* mp_HeadLink ;
ZCLink* mp_TailLink ; mutable
ZCFreeHeap mo_FreeObjt ;
@ -1262,7 +1262,7 @@ namespace ZNsMain
ZtCSimList& CopyLink /*######################################*/
(
const ZCLink* const AP_CopyLink ,
TTypSize AL_FarNum ,
TypeSize AL_FarNum ,
ZtCSimList& ARR_Rhs
) const
/*###########################################################*/
@ -1295,7 +1295,7 @@ namespace ZNsMain
ZtCSimList& CopyLink ##########################################
(
const ZCLink* const AP_CopyLink ,
TTypSize AL_FarNum ,
TypeSize AL_FarNum ,
ZtCSimList& ARR_Rhs
) const
#############################################################*/
@ -1338,7 +1338,7 @@ namespace ZNsMain
ZCLink* CutLink(ZCLink* AP_PrevLink, ZCLink* AP_CutLink)*/
ZCLink* CutLink(ZCLink* AP_PrevLink, ZCLink* AP_CutLink, TTypSize AL_CutPos)
ZCLink* CutLink(ZCLink* AP_PrevLink, ZCLink* AP_CutLink, TypeSize AL_CutPos)
{
if(AP_CutLink==mp_HeadLink)
{
@ -1369,14 +1369,14 @@ namespace ZNsMain
return (--ml_LinkSize, AP_CutLink);
}/*
ZCLink* CutLink(ZCLink* AP_PrevLink, ZCLink* AP_CutLink, TTypSize AL_CutPos)*/
ZCLink* CutLink(ZCLink* AP_PrevLink, ZCLink* AP_CutLink, TypeSize AL_CutPos)*/
ZtCSimList& CutLink /*###############################*/
(
ZCLink* AP_CutHeadPrev,
ZCLink* AP_CutHead , TTypSize AL_CutHeadPos,
ZCLink* AP_CutTail , TTypSize AL_CutTailPos,
ZCLink* AP_CutHead , TypeSize AL_CutHeadPos,
ZCLink* AP_CutTail , TypeSize AL_CutTailPos,
ZtCSimList& ARR_StoreList
)
/*###################################################*/
@ -1423,8 +1423,8 @@ namespace ZNsMain
{
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 'ZtCSimList& CutLink( ZCLink* AP_CutHead, TTypSize AL_CutHeadPos,"<<std::endl;
fileout<<" ZCLink* AP_CutTail, TTypSize AL_CutTailPos" <<std::endl;
fileout<<"Error In 'ZtCSimList& CutLink( ZCLink* AP_CutHead, TypeSize AL_CutHeadPos,"<<std::endl;
fileout<<" ZCLink* AP_CutTail, TypeSize AL_CutTailPos" <<std::endl;
fileout<<" /****************/ )" <<std::endl;
fileout<<"Static Object ARR_StoreList is not empty"<<std::endl;
fileout.close();
@ -1443,14 +1443,14 @@ namespace ZNsMain
ZtCSimList& CutLink ///////////////////////////////
(
ZCLink* AP_CutHeadPrev,
ZCLink* AP_CutHead, TTypSize AL_CutHeadPos,
ZCLink* AP_CutTail, TTypSize AL_CutTailPos,
ZCLink* AP_CutHead, TypeSize AL_CutHeadPos,
ZCLink* AP_CutTail, TypeSize AL_CutTailPos,
ZtCSimList& ARR_StoreList
)
/////////////////////////////////////////////////*/
ZtCSimList& MakeDefault(TTypSize AL_DefaultSize, ZtCSimList& ARR_StoreList) const
ZtCSimList& MakeDefault(TypeSize AL_DefaultSize, ZtCSimList& ARR_StoreList) const
{
if(AL_DefaultSize<=0) return ARR_StoreList;
@ -1467,7 +1467,7 @@ namespace ZNsMain
return ARR_StoreList;
}/*
ZtCSimList& MakeDefault(TTypSize AL_DefaultSize, ZtCSimList& ARR_StoreList) const
ZtCSimList& MakeDefault(TypeSize AL_DefaultSize, ZtCSimList& ARR_StoreList) const
protected: */
@ -1530,17 +1530,17 @@ namespace ZNsMain
ZtCSimList& operator()(TypeArg AR_Type)*/
TType& operator[](TTypSize AL_Index)
TType& operator[](TypeSize AL_Index)
{
return GetLinkPtr(AL_Index)->mo_DataObjt;
}/*
TType& operator[](TTypSize AL_Index)*/
TType& operator[](TypeSize AL_Index)*/
const TType& operator[](TTypSize AL_Index) const
const TType& operator[](TypeSize AL_Index) const
{
return GetLinkPtr(AL_Index)->mo_DataObjt;
}/*
const TType& operator[](TTypSize AL_Index) const*/
const TType& operator[](TypeSize AL_Index) const*/
operator TType&(){return AddTailDef()->mo_DataObjt;}
@ -1654,7 +1654,7 @@ namespace ZNsMain
ZCLink* AddTailDef()*/
void AddHeadDef(TTypSize AL_DefaultSize)
void AddHeadDef(TypeSize AL_DefaultSize)
{
if(AL_DefaultSize<1) return;
@ -1664,9 +1664,9 @@ namespace ZNsMain
);
//////////////////////////////////
}/*
void AddHeadDef(TTypSize AL_DefaultSize)*/
void AddHeadDef(TypeSize AL_DefaultSize)*/
void AddTailDef(TTypSize AL_DefaultSize)
void AddTailDef(TypeSize AL_DefaultSize)
{
if(AL_DefaultSize<1) return;
@ -1676,7 +1676,7 @@ namespace ZNsMain
);
//////////////////////////////////
}/*
void AddTailDef(TTypSize AL_DefaultSize)*/
void AddTailDef(TypeSize AL_DefaultSize)*/
ZCLink* GetHeadLinkPtr (){return mp_HeadLink;}
@ -1712,8 +1712,8 @@ namespace ZNsMain
TypeData & GetTailData() { return mp_TailLink->mo_DataObjt ; }
TypeDataC& GetTailData() const{ return mp_TailLink->mo_DataObjt ; }
TypeData & GetData(TTypSize AL_Index) { return GetLinkPtr(AL_Index)->mo_DataObjt; }
TypeDataC& GetData(TTypSize AL_Index) const{ return GetLinkPtr(AL_Index)->mo_DataObjt; }
TypeData & GetData(TypeSize AL_Index) { return GetLinkPtr(AL_Index)->mo_DataObjt; }
TypeDataC& GetData(TypeSize AL_Index) const{ return GetLinkPtr(AL_Index)->mo_DataObjt; }
void JoinHead(ZCLink* AP_Link)
@ -1829,7 +1829,7 @@ namespace ZNsMain
}/*
void DeleteHead()*/
void DeleteHead(TTypSize AL_DelSize)
void DeleteHead(TypeSize AL_DelSize)
{
// AL_DelSize 개의 링크를 앞 부분에서 삭제
@ -1864,7 +1864,7 @@ namespace ZNsMain
ZCLink::MakeRing(mp_HeadLink, mp_TailLink);
}/*
void DeleteHead(TTypSize AL_DelSize)*/
void DeleteHead(TypeSize AL_DelSize)*/
void DeleteTail()
{
@ -1899,18 +1899,18 @@ namespace ZNsMain
}/*
void Delete(ZCLink* AP_PrevLink, ZCLink* AP_CutLink)*/
void Delete(ZCLink* AP_PrevLink, ZCLink* AP_CutLink, TTypSize AL_CutPos)
void Delete(ZCLink* AP_PrevLink, ZCLink* AP_CutLink, TypeSize AL_CutPos)
{
GetCFreeHeap().RecvFreeIn
( CutLink(AP_PrevLink, AP_CutLink, AL_CutPos) );
}/*
void Delete(ZCLink* AP_PrevLink, ZCLink* AP_CutLink, TTypSize AL_CutPos)*/
void Delete(ZCLink* AP_PrevLink, ZCLink* AP_CutLink, TypeSize AL_CutPos)*/
void Delete /*###################################*/
(
ZCLink* AP_CutHeadPrev,
ZCLink* AP_CutHead, TTypSize AL_CutHeadPos,
ZCLink* AP_CutTail, TTypSize AL_CutTailPos
ZCLink* AP_CutHead, TypeSize AL_CutHeadPos,
ZCLink* AP_CutTail, TypeSize AL_CutTailPos
)
/*###############################################*/
{
@ -1927,8 +1927,8 @@ namespace ZNsMain
void Delete ///////////////////////////////////////
(
ZCLink* AP_CutHeadPrev,
ZCLink* AP_CutHead, TTypSize AL_CutHeadPos,
ZCLink* AP_CutTail, TTypSize AL_CutTailPos
ZCLink* AP_CutHead, TypeSize AL_CutHeadPos,
ZCLink* AP_CutTail, TypeSize AL_CutTailPos
)
/////////////////////////////////////////////////*/
@ -1957,7 +1957,7 @@ namespace ZNsMain
void clear(){DeleteAll();}
TTypSize Find(const ZCLink* AP_pSearchLink, TTypSize AL_FirstFindIndex=1) const
TypeSize Find(const ZCLink* AP_pSearchLink, TypeSize AL_FirstFindIndex=1) const
{
const bool CB_DoStop = //////////////////////
(
@ -1968,7 +1968,7 @@ namespace ZNsMain
if(CB_DoStop) {return 0;} ///////////////////
TTypSize VL_FindIndex = AL_FirstFindIndex ;
TypeSize VL_FindIndex = AL_FirstFindIndex ;
ZCLink* VP_TempLink = const_cast
<ZCLink*>(GetLinkPtr(AL_FirstFindIndex));
@ -1985,9 +1985,9 @@ namespace ZNsMain
}
while(true);
}/*
TTypSize Find(ZCLink* AP_pSearchLink, TTypSize AL_FirstFindIndex=1) const*/
TypeSize Find(ZCLink* AP_pSearchLink, TypeSize AL_FirstFindIndex=1) const*/
TTypSize Find(TypeArg AR_TypeArg, TTypSize AL_FirstFindIndex=1)
TypeSize Find(TypeArg AR_TypeArg, TypeSize AL_FirstFindIndex=1)
{
const bool CB_DoStop = //////////////////////
(
@ -1998,7 +1998,7 @@ namespace ZNsMain
if(CB_DoStop) return 0; /////////////////////
TTypSize VL_FindIndex = AL_FirstFindIndex ;
TypeSize VL_FindIndex = AL_FirstFindIndex ;
ZCLink* VP_TempLink = const_cast
<ZCLink*>(GetLinkPtr(AL_FirstFindIndex));
@ -2015,7 +2015,7 @@ namespace ZNsMain
}
while(true);
}/*
TTypSize Find(TypeArg AR_TypeArg, TTypSize AL_FirstFindIndex=1)*/
TypeSize Find(TypeArg AR_TypeArg, TypeSize AL_FirstFindIndex=1)*/
/*////////////////////////////////////////////////////////////////////////////////////////
@ -2027,25 +2027,25 @@ namespace ZNsMain
////////////////////////////////////////////////////////////////////////////////////////*/
TTypSize FindData(TypeArg AR_TypeArg, TTypSize AL_FirstFindIndex=1) const
TypeSize FindData(TypeArg AR_TypeArg, TypeSize AL_FirstFindIndex=1) const
{
return Find(AR_TypeArg, AL_FirstFindIndex);
}/*
TTypSize FindData(TypeArg AR_TypeArg, TTypSize AL_FirstFindIndex=1) const*/
TypeSize FindData(TypeArg AR_TypeArg, TypeSize AL_FirstFindIndex=1) const*/
ZCLink* GetLinkPtr(TTypSize AL_Index)
ZCLink* GetLinkPtr(TypeSize AL_Index)
{
return mp_HeadLink->GetNextPtr(AL_Index-1);
}/*
ZCLink* GetLinkPtr(TTypSize AL_Index)*/
ZCLink* GetLinkPtr(TypeSize AL_Index)*/
const ZCLink* GetLinkPtr(TTypSize AL_Index) const
const ZCLink* GetLinkPtr(TypeSize AL_Index) const
{
return mp_HeadLink->GetNextPtr(AL_Index-1);
}/*
const ZCLink* GetLinkPtr(TTypSize AL_Index) const*/
const ZCLink* GetLinkPtr(TypeSize AL_Index) const*/
ZCFreeHeap& GetCFreeHeap() const
@ -2055,12 +2055,12 @@ namespace ZNsMain
ZCFreeHeap& GetCFreeHeap() const*/
inline TTypSize GetSize() const
inline TypeSize GetSize() const
{ return ml_LinkSize; }
inline TTypSize size () const
inline TypeSize size () const
{ return ml_LinkSize; }
inline TTypSize capacity() const
inline TypeSize capacity() const
{ return size()+mo_FreeObjt.size(); }
inline TypeSize GetFreeSize() const
@ -2342,13 +2342,13 @@ namespace ZNsMain
{ ++ARR_iterator ; }
TypeData& GetDataInIter(ZCLink* AP_CLink)
TypeData & GetDataInIter(ZCLink* AP_CLink)
{ return **AP_CLink ; }
TypeData& GetDataInIter(IterEasyID APPI_IterEasyID)
TypeData & GetDataInIter(IterEasyID APPI_IterEasyID)
{ return GetDataInIter((ZCLink*)APPI_IterEasyID) ; }
TypeData& GetDataInIter(iterator & ARR_iterator)
TypeData & GetDataInIter(iterator & ARR_iterator)
{ return *ARR_iterator ; }
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
TypeDataC& GetDataInIter(const ZCLink* AP_CLink) const
@ -2357,7 +2357,7 @@ namespace ZNsMain
TypeDataC& GetDataInIter(IterEasyIDc APPI_IterEasyID) const
{ return GetDataInIter((const ZCLink*)APPI_IterEasyID) ; }
TypeData& GetDataInIter(iteratorC& ARR_iterator) const
TypeDataC& GetDataInIter(iteratorC& ARR_iterator) const
{ return *ARR_iterator ; }