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

This commit is contained in:
2025-10-12 23:10:34 +09:00
parent cdca176fa9
commit fa52fe1027
2 changed files with 135 additions and 145 deletions

View File

@ -811,14 +811,16 @@ namespace ZNsMain
typedef ZCLink TypeLink ;
typedef TypeThis TypeList ;
public:
typedef ZCLink* IterEasy ; // 가장 대표적으로 쓰일 수 있는 반복자.
typedef ZCLinkPoint iterator ; // 다양한 기능을 가진 반복자.
typedef ZCLink* IterEasy ; // 가장 간단하게 쓰일 수 있는 반복자.
typedef ZCLinkPoint iterator ; // 다양한 기능을 가진 반복자.
public:
typedef ZtCObjOpt<ZCLink > ZCLinkOpt;
typedef ZtCObjOpt<TypeData> ZCDataOpt;
public:
typedef const TypeList TypeListC ;
typedef const TypeData TypeDataC ;
typedef const TypeLink TypeLinkC ;
typedef const TypeThis TypeThisC ;
typedef const IterEasy IterEasyC ;
typedef const iterator iteratorC ;
typedef const ZCLink ZCLinkC ;
@ -1061,8 +1063,8 @@ namespace ZNsMain
TypeSize GetPos () const{ return ml_CurrPos; }
/***************************************************/
const TypeList& GetList() const{return mr_CurrList;}
const TypeLink& GetLink() const{return *mp_CurrLink;}
TypeListC& GetList() const{return mr_CurrList;}
TypeLinkC& GetLink() const{return *mp_CurrLink;}
bool IsValid() const{return mr_CurrList.size()>0;}
@ -1071,9 +1073,17 @@ namespace ZNsMain
ZCLinkPoint& operator= (const ZCLinkPoint& rhs){ return *this; }
TypeData & operator*() {return **mp_CurrLink;}
TypeDataC& operator*() const{return **mp_CurrLink;}
operator TypeLink * () {return mp_CurrLink;}
operator TypeLinkC* () const{return mp_CurrLink;}
operator TypeLink & () {return *mp_CurrLink;}
operator TypeLinkC& () const{return *mp_CurrLink;}
const ZCLinkPoint& operator++() const
{
if(IsEmpty()){*this;}
@ -2826,11 +2836,15 @@ namespace ZNsMain
{return **(AP_CLink->GetNextPrevPtr(AI_FarNum)) ; }
TypeData & GetDataInIter(IterEasyID ARRI_IterEasyID, TypeSize AI_FarNum)
{ return GetDataInIter((ZCLink*)ARRI_IterEasyID , AI_FarNum); }
TypeData & GetDataInIter(iterator& ARR_Iterator , TypeSize AI_FarNum)
{ return GetDataInIter((ZCLink*)ARR_Iterator , AI_FarNum); }
TypeDataC& GetDataInIter(TypeLinkC* AP_CLink , TypeSize AI_FarNum) const
{return **(AP_CLink->GetNextPrePtr(AI_FarNum)) ; }
TypeDataC& GetDataInIter(IterEasyIDc ARRI_IterEasyID, TypeSize AI_FarNum) const
{ return GetDataInIter((ZCLink*)ARRI_IterEasyID , AI_FarNum); }
{ return GetDataInIter((ZCLinkC*)ARRI_IterEasyID, AI_FarNum); }
TypeDataC& GetDataInIter(iteratorC& ARR_Iterator , TypeSize AI_FarNum) const
{ return GetDataInIter((ZCLinkC*)ARR_Iterator , AI_FarNum); }
iterator begin() { return ZCLinkPoint(*this); }
@ -2868,11 +2882,11 @@ namespace ZNsMain
TypeData & ItD(IterEasy AP_CLink ) {return GetDataInIter(AP_CLink );}
TypeData & ItD(IterEasyID ARRI_IterEasyID) {return GetDataInIter(ARRI_IterEasyID);}
TypeData & ItD(iterator ARR_Iterator ) {return GetDataInIter(ARR_Iterator );}
TypeData & ItD(iterator& ARR_Iterator ) {return GetDataInIter(ARR_Iterator );}
TypeDataC& ItD(IterEasyC AP_CLink ) const{return GetDataInIter(AP_CLink );}
TypeDataC& ItD(IterEasyIDc ARRI_IterEasyID) const{return GetDataInIter(ARRI_IterEasyID);}
TypeDataC& ItD(iteratorC ARR_Iterator ) const{return GetDataInIter(ARR_Iterator );}
TypeDataC& ItD(iteratorC& ARR_Iterator ) const{return GetDataInIter(ARR_Iterator );}
TypeData & ItD(IterEasy AP_CLink , TypeSize AI_FarNum){return GetDataInIter(AP_CLink , AI_FarNum);}