commit 2025-10-13 19:00 ZCLinkPoint => ZCNodePoint : ZCppMain/ZtCObjList.H
This commit is contained in:
@ -5696,7 +5696,7 @@ namespace ZNsMain
|
||||
class ZtCBaseList /*#####################################################*/
|
||||
{
|
||||
public:
|
||||
class ZCLink; class ZCLinkPoint; class ZCLinkPointC;
|
||||
class ZCLink; class ZCNodePoint; class ZCNodePointC;
|
||||
/*************************************************************************/
|
||||
typedef ZtCObjOpt<ZCLink> ZCLinkOpt ;
|
||||
typedef ZtCObjOpt<TType > ZCDataOpt ;
|
||||
@ -5709,20 +5709,20 @@ namespace ZNsMain
|
||||
typedef TTypSize TypeSize ;
|
||||
typedef TMoveObj TypeMoveObj ;
|
||||
typedef ZCLink TypeLink ;
|
||||
typedef ZCLink TypeNode ; // ZCLinkPoint::GetNode() 의 반환형.
|
||||
typedef ZCLinkPoint TypeLinkPoint ;
|
||||
typedef ZCLinkPoint TypeIter ;
|
||||
typedef ZCLink TypeNode ; // ZCNodePoint::GetNode() 의 반환형.
|
||||
typedef ZCNodePoint TypeNodePoint ;
|
||||
typedef ZCNodePoint TypeIter ;
|
||||
|
||||
typedef ZCLink* IterEasy ; // 가장 쉽게 쓸 수 있는 반복자.
|
||||
typedef ZCLinkPointC iteratorC ;
|
||||
typedef ZCNodePointC iteratorC ;
|
||||
|
||||
typedef ZCLinkPoint iterator ; // 다양한 기능을 가진 반복자.
|
||||
typedef ZCLinkPointC const_iterator;
|
||||
typedef ZCNodePoint iterator ; // 다양한 기능을 가진 반복자.
|
||||
typedef ZCNodePointC const_iterator;
|
||||
|
||||
typedef const TypeThis TypeThisC ;
|
||||
typedef const TypeList TypeListC ;
|
||||
typedef const TypeData TypeDataC ;
|
||||
typedef const TypeNode TypeNodeC ; // ZCLinkPoint::GetNode() const 의 반환형.
|
||||
typedef const TypeNode TypeNodeC ; // ZCNodePoint::GetNode() const 의 반환형.
|
||||
typedef const ZCLink TypeLinkC ;
|
||||
|
||||
typedef const ZCLink ZCLinkC ;
|
||||
@ -5730,7 +5730,7 @@ namespace ZNsMain
|
||||
typedef const ZCLinkOpt ZCLinkOptC ;
|
||||
typedef const ZCDataOpt ZCDataOptC ;
|
||||
|
||||
typedef ZCLinkPointC TypeIterC ;
|
||||
typedef ZCNodePointC TypeIterC ;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
@ -5861,46 +5861,46 @@ namespace ZNsMain
|
||||
|
||||
|
||||
|
||||
class ZCLinkPoint
|
||||
class ZCNodePoint
|
||||
{
|
||||
private:
|
||||
mutable TypeLink* mp_CurrLink; // 사실상 mp_CurrLink!=0
|
||||
mutable TypeSize ml_CurrPos ;
|
||||
/*****/ TypeList& mr_CurrList;
|
||||
public:
|
||||
ZCLinkPoint(TypeList& AR_TypeList) :
|
||||
ZCNodePoint(TypeList& AR_TypeList) :
|
||||
mr_CurrList(AR_TypeList)
|
||||
{
|
||||
mp_CurrLink = AR_TypeList.HeadPtr();
|
||||
ml_CurrPos = 1 ;
|
||||
}
|
||||
ZCLinkPoint(const ZCLinkPoint& rhs) :
|
||||
ZCNodePoint(const ZCNodePoint& rhs) :
|
||||
mr_CurrList(rhs.mr_CurrList),
|
||||
mp_CurrLink(rhs.mp_CurrLink),
|
||||
ml_CurrPos (rhs.ml_CurrPos )
|
||||
{}
|
||||
public :
|
||||
|
||||
static ZCLinkPoint MakeTailPoint(TypeList& AR_TypeList)
|
||||
static ZCNodePoint MakeTailPoint(TypeList& AR_TypeList)
|
||||
{
|
||||
ZCLinkPoint VO_ZCLinkPoint(AR_TypeList);
|
||||
ZCNodePoint VO_ZCLinkPoint(AR_TypeList);
|
||||
|
||||
VO_ZCLinkPoint.mp_CurrLink = AR_TypeList.mp_TailLink;
|
||||
VO_ZCLinkPoint.ml_CurrPos = AR_TypeList.ml_LinkSize;
|
||||
|
||||
return VO_ZCLinkPoint; /****************************/
|
||||
}/*
|
||||
static ZCLinkPoint MakeTailPoint(TypeList& AR_TypeList)*/
|
||||
static ZCLinkPoint MakeTailPoint(const TypeIter& AR_TypeIter)
|
||||
static ZCNodePoint MakeTailPoint(TypeList& AR_TypeList)*/
|
||||
static ZCNodePoint MakeTailPoint(const TypeIter& AR_TypeIter)
|
||||
{
|
||||
ZCLinkPoint VO_ZCLinkPoint(AR_TypeIter);
|
||||
ZCNodePoint VO_ZCLinkPoint(AR_TypeIter);
|
||||
|
||||
VO_ZCLinkPoint.mp_CurrLink = VO_ZCLinkPoint.mr_TypeList.mp_TailLink;
|
||||
VO_ZCLinkPoint.ml_CurrPos = VO_ZCLinkPoint.mr_TypeList.ml_LinkSize;
|
||||
|
||||
return VO_ZCLinkPoint; /****************************/
|
||||
}/*
|
||||
static ZCLinkPoint MakeTailPoint(const TypeIter& AR_TypeIter)*/
|
||||
static ZCNodePoint MakeTailPoint(const TypeIter& AR_TypeIter)*/
|
||||
|
||||
public :
|
||||
|
||||
@ -5918,7 +5918,7 @@ namespace ZNsMain
|
||||
bool IsEmpty() const{return mr_CurrList.size()<1;}
|
||||
|
||||
|
||||
ZCLinkPoint& operator= (const ZCLinkPoint& rhs){ return *this; }
|
||||
ZCNodePoint& operator= (const ZCNodePoint& rhs){ return *this; }
|
||||
|
||||
|
||||
TypeData & operator*() {return **mp_CurrLink;}
|
||||
@ -5931,17 +5931,17 @@ namespace ZNsMain
|
||||
operator TypeLinkC& () const{return *mp_CurrLink;}
|
||||
|
||||
|
||||
bool operator == (const ZCLinkPoint& rhs) const
|
||||
bool operator == (const ZCNodePoint& rhs) const
|
||||
{ return ml_CurrPos == rhs.ml_CurrPos; }
|
||||
bool operator != (const ZCLinkPoint& rhs) const
|
||||
bool operator != (const ZCNodePoint& rhs) const
|
||||
{ return ml_CurrPos != rhs.ml_CurrPos; }
|
||||
bool operator > (const ZCLinkPoint& rhs) const
|
||||
bool operator > (const ZCNodePoint& rhs) const
|
||||
{ return ml_CurrPos > rhs.ml_CurrPos; }
|
||||
bool operator >= (const ZCLinkPoint& rhs) const
|
||||
bool operator >= (const ZCNodePoint& rhs) const
|
||||
{ return ml_CurrPos >= rhs.ml_CurrPos; }
|
||||
bool operator < (const ZCLinkPoint& rhs) const
|
||||
bool operator < (const ZCNodePoint& rhs) const
|
||||
{ return ml_CurrPos < rhs.ml_CurrPos; }
|
||||
bool operator <= (const ZCLinkPoint& rhs) const
|
||||
bool operator <= (const ZCNodePoint& rhs) const
|
||||
{ return ml_CurrPos <= rhs.ml_CurrPos; }
|
||||
|
||||
bool operator == (TypeSize AL_Size) const
|
||||
@ -5958,44 +5958,44 @@ namespace ZNsMain
|
||||
{ return ml_CurrPos <= AL_Size; }
|
||||
|
||||
|
||||
const ZCLinkPoint& operator++() const
|
||||
const ZCNodePoint& operator++() const
|
||||
{
|
||||
mp_CurrLink = mp_CurrLink->mp_NextLink;
|
||||
|
||||
++ml_CurrPos; return *this ;
|
||||
}/*
|
||||
const ZCLinkPoint& operator++() const*/
|
||||
const ZCNodePoint& operator++() const*/
|
||||
|
||||
const ZCLinkPoint& operator--() const
|
||||
const ZCNodePoint& operator--() const
|
||||
{
|
||||
mp_CurrLink = mp_CurrLink->mp_PrevLink;
|
||||
|
||||
--ml_CurrPos; return *this ;
|
||||
}/*
|
||||
const ZCLinkPoint& operator--() const*/
|
||||
const ZCNodePoint& operator--() const*/
|
||||
|
||||
ZCLinkPoint operator++(int) const
|
||||
ZCNodePoint operator++(int) const
|
||||
{
|
||||
ZCLinkPoint VO_NowPoint(*this);
|
||||
ZCNodePoint VO_NowPoint(*this);
|
||||
|
||||
mp_CurrLink = mp_CurrLink->mp_NextLink;
|
||||
|
||||
++ml_CurrPos ; return VO_NowPoint ;
|
||||
}/*
|
||||
ZCLinkPoint operator++(int) const*/
|
||||
ZCNodePoint operator++(int) const*/
|
||||
|
||||
ZCLinkPoint operator--(int) const
|
||||
ZCNodePoint operator--(int) const
|
||||
{
|
||||
ZCLinkPoint VO_NowPoint(*this);
|
||||
ZCNodePoint VO_NowPoint(*this);
|
||||
|
||||
mp_CurrLink = mp_CurrLink->mp_PrevLink;
|
||||
|
||||
--ml_CurrPos; return VO_NowPoint ;
|
||||
}/*
|
||||
ZCLinkPoint operator--(int) const*/
|
||||
ZCNodePoint operator--(int) const*/
|
||||
|
||||
|
||||
const ZCLinkPoint& operator+=(TypeSize AL_Distance) const
|
||||
const ZCNodePoint& operator+=(TypeSize AL_Distance) const
|
||||
{
|
||||
if(IsEmpty()){return *this;}
|
||||
|
||||
@ -6004,77 +6004,77 @@ namespace ZNsMain
|
||||
|
||||
return *this; /*:::::::::::::::::::::::::::*/
|
||||
}/*
|
||||
const ZCLinkPoint& operator+=(TypeSize AL_Distance) const*/
|
||||
const ZCNodePoint& operator+=(TypeSize AL_Distance) const*/
|
||||
|
||||
const ZCLinkPoint& operator-=(TypeSize AL_Distance) const
|
||||
const ZCNodePoint& operator-=(TypeSize AL_Distance) const
|
||||
{
|
||||
mp_CurrLink = &((*mp_CurrLink)-AL_Distance);
|
||||
ml_CurrPos -= AL_Distance ;
|
||||
|
||||
return *this; /*::::::::::::::::::::::::::*/
|
||||
}/*
|
||||
const ZCLinkPoint& operator-=(TypeSize AL_Distance) const*/
|
||||
const ZCNodePoint& operator-=(TypeSize AL_Distance) const*/
|
||||
|
||||
public:
|
||||
};/*
|
||||
class ZCLinkPoint*/
|
||||
class ZCNodePoint*/
|
||||
|
||||
|
||||
class ZCLinkPointC
|
||||
class ZCNodePointC
|
||||
{
|
||||
protected:
|
||||
const TypeList& mr_CurrList;
|
||||
mutable TypeLinkC* mp_CurrLink; // 사실상 mp_CurrLink!=0
|
||||
mutable TypeSize ml_CurrPos ;
|
||||
public :
|
||||
ZCLinkPointC(const TypeList& AR_TypeList) :
|
||||
ZCNodePointC(const TypeList& AR_TypeList) :
|
||||
mr_CurrList(AR_TypeList)
|
||||
{
|
||||
mp_CurrLink = AR_TypeList.HeadPtr();
|
||||
ml_CurrPos = 1 ;
|
||||
}
|
||||
ZCLinkPointC(const ZCLinkPoint & rhs) :
|
||||
ZCNodePointC(const ZCNodePoint & rhs) :
|
||||
mr_CurrList( rhs.GetMain()),
|
||||
mp_CurrLink(&rhs.GetNode()),
|
||||
ml_CurrPos ( rhs.GetPos ())
|
||||
{}
|
||||
ZCLinkPointC(const ZCLinkPointC& rhs) :
|
||||
ZCNodePointC(const ZCNodePointC& rhs) :
|
||||
mr_CurrList(rhs.mr_CurrList),
|
||||
mp_CurrLink(rhs.mp_CurrLink),
|
||||
ml_CurrPos (rhs.ml_CurrPos )
|
||||
{}
|
||||
public :
|
||||
|
||||
static ZCLinkPointC MakeTailPoint(const TypeList& AR_TypeList)
|
||||
static ZCNodePointC MakeTailPoint(const TypeList& AR_TypeList)
|
||||
{
|
||||
ZCLinkPointC VO_ZCLinkPoint(AR_TypeList);
|
||||
ZCNodePointC VO_ZCLinkPoint(AR_TypeList);
|
||||
|
||||
VO_ZCLinkPoint.mp_CurrLink = AR_TypeList.mp_TailLink;
|
||||
VO_ZCLinkPoint.ml_CurrPos = AR_TypeList.ml_LinkSize;
|
||||
|
||||
return VO_ZCLinkPoint; /****************/
|
||||
}/*
|
||||
static ZCLinkPointC MakeTailPoint(const TypeList& AR_TypeList)*/
|
||||
static ZCLinkPointC MakeTailPoint(const ZCLinkPoint& AR_TypeIter)
|
||||
static ZCNodePointC MakeTailPoint(const TypeList& AR_TypeList)*/
|
||||
static ZCNodePointC MakeTailPoint(const ZCNodePoint& AR_TypeIter)
|
||||
{
|
||||
ZCLinkPointC VO_ZCLinkPoint(AR_TypeIter);
|
||||
ZCNodePointC VO_ZCLinkPoint(AR_TypeIter);
|
||||
|
||||
VO_ZCLinkPoint.mp_CurrLink = VO_ZCLinkPoint.mr_TypeList.mp_TailLink;
|
||||
VO_ZCLinkPoint.ml_CurrPos = VO_ZCLinkPoint.mr_TypeList.ml_LinkSize;
|
||||
|
||||
return VO_ZCLinkPoint; /****************/
|
||||
}/*
|
||||
static ZCLinkPointC MakeTailPoint(const ZCLinkPoint& AR_TypeIter)*/
|
||||
static ZCLinkPointC MakeTailPoint(const ZCLinkPointC& AR_TypeIter)
|
||||
static ZCNodePointC MakeTailPoint(const ZCNodePoint& AR_TypeIter)*/
|
||||
static ZCNodePointC MakeTailPoint(const ZCNodePointC& AR_TypeIter)
|
||||
{
|
||||
ZCLinkPointC VO_ZCLinkPoint(AR_TypeIter);
|
||||
ZCNodePointC VO_ZCLinkPoint(AR_TypeIter);
|
||||
|
||||
VO_ZCLinkPoint.mp_CurrLink = VO_ZCLinkPoint.mr_TypeList.mp_TailLink;
|
||||
VO_ZCLinkPoint.ml_CurrPos = VO_ZCLinkPoint.mr_TypeList.ml_LinkSize;
|
||||
|
||||
return VO_ZCLinkPoint; /****************/
|
||||
}/*
|
||||
static ZCLinkPointC MakeTailPoint(const ZCLinkPointC& AR_TypeIter)*/
|
||||
static ZCNodePointC MakeTailPoint(const ZCNodePointC& AR_TypeIter)*/
|
||||
|
||||
public :
|
||||
|
||||
@ -6089,7 +6089,7 @@ namespace ZNsMain
|
||||
bool IsEmpty() const{return mr_CurrList.size()<1;}
|
||||
|
||||
|
||||
ZCLinkPointC& operator= (const ZCLinkPointC& rhs){ return *this; }
|
||||
ZCNodePointC& operator= (const ZCNodePointC& rhs){ return *this; }
|
||||
|
||||
|
||||
TypeDataC& operator*() const{return **mp_CurrLink;}
|
||||
@ -6097,17 +6097,17 @@ namespace ZNsMain
|
||||
operator TypeLinkC& () const{return *mp_CurrLink;}
|
||||
|
||||
|
||||
bool operator == (const ZCLinkPointC& rhs) const
|
||||
bool operator == (const ZCNodePointC& rhs) const
|
||||
{ return ml_CurrPos == rhs.ml_CurrPos; }
|
||||
bool operator != (const ZCLinkPointC& rhs) const
|
||||
bool operator != (const ZCNodePointC& rhs) const
|
||||
{ return ml_CurrPos != rhs.ml_CurrPos; }
|
||||
bool operator > (const ZCLinkPointC& rhs) const
|
||||
bool operator > (const ZCNodePointC& rhs) const
|
||||
{ return ml_CurrPos > rhs.ml_CurrPos; }
|
||||
bool operator >= (const ZCLinkPointC& rhs) const
|
||||
bool operator >= (const ZCNodePointC& rhs) const
|
||||
{ return ml_CurrPos >= rhs.ml_CurrPos; }
|
||||
bool operator < (const ZCLinkPointC& rhs) const
|
||||
bool operator < (const ZCNodePointC& rhs) const
|
||||
{ return ml_CurrPos < rhs.ml_CurrPos; }
|
||||
bool operator <= (const ZCLinkPointC& rhs) const
|
||||
bool operator <= (const ZCNodePointC& rhs) const
|
||||
{ return ml_CurrPos <= rhs.ml_CurrPos; }
|
||||
|
||||
bool operator == (TypeSize AL_Size) const
|
||||
@ -6124,44 +6124,44 @@ namespace ZNsMain
|
||||
{ return ml_CurrPos <= AL_Size; }
|
||||
|
||||
|
||||
const ZCLinkPointC& operator++() const
|
||||
const ZCNodePointC& operator++() const
|
||||
{
|
||||
mp_CurrLink = mp_CurrLink->mp_NextLink;
|
||||
|
||||
++ml_CurrPos; return *this ;
|
||||
}/*
|
||||
const ZCLinkPointC& operator++() const*/
|
||||
const ZCNodePointC& operator++() const*/
|
||||
|
||||
const ZCLinkPointC& operator--() const
|
||||
const ZCNodePointC& operator--() const
|
||||
{
|
||||
mp_CurrLink = mp_CurrLink->mp_PrevLink;
|
||||
|
||||
--ml_CurrPos; return *this ;
|
||||
}/*
|
||||
const ZCLinkPointC& operator--() const*/
|
||||
const ZCNodePointC& operator--() const*/
|
||||
|
||||
ZCLinkPointC operator++(int) const
|
||||
ZCNodePointC operator++(int) const
|
||||
{
|
||||
ZCLinkPointC VO_NowPoint(*this);
|
||||
ZCNodePointC VO_NowPoint(*this);
|
||||
|
||||
mp_CurrLink = mp_CurrLink->mp_NextLink;
|
||||
|
||||
++ml_CurrPos ; return VO_NowPoint ;
|
||||
}/*
|
||||
ZCLinkPointC operator++(int) const*/
|
||||
ZCNodePointC operator++(int) const*/
|
||||
|
||||
ZCLinkPointC operator--(int) const
|
||||
ZCNodePointC operator--(int) const
|
||||
{
|
||||
ZCLinkPointC VO_NowPoint(*this);
|
||||
ZCNodePointC VO_NowPoint(*this);
|
||||
|
||||
mp_CurrLink = mp_CurrLink->mp_PrevLink;
|
||||
|
||||
--ml_CurrPos; return VO_NowPoint ;
|
||||
}/*
|
||||
ZCLinkPointC operator--(int) const*/
|
||||
ZCNodePointC operator--(int) const*/
|
||||
|
||||
|
||||
const ZCLinkPointC& operator+=(TypeSize AL_Distance) const
|
||||
const ZCNodePointC& operator+=(TypeSize AL_Distance) const
|
||||
{
|
||||
if(IsEmpty()){return *this;}
|
||||
|
||||
@ -6170,28 +6170,28 @@ namespace ZNsMain
|
||||
|
||||
return *this; /*:::::::::::::::::::::::::::*/
|
||||
}/*
|
||||
const ZCLinkPointC& operator+=(TypeSize AL_Distance) const*/
|
||||
const ZCNodePointC& operator+=(TypeSize AL_Distance) const*/
|
||||
|
||||
const ZCLinkPointC& operator-=(TypeSize AL_Distance) const
|
||||
const ZCNodePointC& operator-=(TypeSize AL_Distance) const
|
||||
{
|
||||
mp_CurrLink = &((*mp_CurrLink)-AL_Distance);
|
||||
ml_CurrPos -= AL_Distance ;
|
||||
|
||||
return *this; /*::::::::::::::::::::::::::*/
|
||||
}/*
|
||||
const ZCLinkPointC& operator-=(TypeSize AL_Distance) const*/
|
||||
const ZCNodePointC& operator-=(TypeSize AL_Distance) const*/
|
||||
|
||||
public:
|
||||
};/*
|
||||
class ZCLinkPointC*/
|
||||
class ZCNodePointC*/
|
||||
|
||||
|
||||
class ZCLinkPointEx : public ZCLinkPoint
|
||||
class ZCLinkPointEx : public ZCNodePoint
|
||||
{
|
||||
public:
|
||||
ZCLinkPointEx(TypeList& AR_TypeList): ZCLinkPoint(AR_TypeList){}
|
||||
ZCLinkPointEx(const ZCLinkPoint & rhs): ZCLinkPoint(rhs ){}
|
||||
ZCLinkPointEx(const ZCLinkPointEx& rhs): ZCLinkPoint(rhs ){}
|
||||
ZCLinkPointEx(TypeList& AR_TypeList): ZCNodePoint(AR_TypeList){}
|
||||
ZCLinkPointEx(const ZCNodePoint & rhs): ZCNodePoint(rhs ){}
|
||||
ZCLinkPointEx(const ZCLinkPointEx& rhs): ZCNodePoint(rhs ){}
|
||||
public:
|
||||
|
||||
static ZCLinkPointEx MakeTailPoint(const ZCLinkPointEx& AR_TypeIter)
|
||||
@ -8554,10 +8554,10 @@ namespace ZNsMain
|
||||
{ return GetDataInIter((ZCLinkC*)ARR_Iterator , AI_FarNum); }
|
||||
|
||||
|
||||
iterator begin () { return ZCLinkPoint (*this); }
|
||||
iteratorC begin () const{ return ZCLinkPointC(*this); }
|
||||
iterator end () { return ZCLinkPoint ::MakeTailPoint(*this); }
|
||||
iteratorC end () const{ return ZCLinkPointC::MakeTailPoint(*this); }
|
||||
iterator begin () { return ZCNodePoint (*this); }
|
||||
iteratorC begin () const{ return ZCNodePointC(*this); }
|
||||
iterator end () { return ZCNodePoint ::MakeTailPoint(*this); }
|
||||
iteratorC end () const{ return ZCNodePointC::MakeTailPoint(*this); }
|
||||
|
||||
|
||||
IterEasy ItHEasy() {return GetHeadIterEasy ();}
|
||||
|
Reference in New Issue
Block a user