commit 2025-10-14 09:11 ZCNodePointC => ZCNodePointN : ZCppMain/ZMainHead.H etc

This commit is contained in:
2025-10-14 09:12:02 +09:00
parent 4fc794e834
commit 65a115ff6f
6 changed files with 293 additions and 263 deletions

View File

@ -769,7 +769,7 @@ namespace ZNsMain
public:
class ZCLink ;
class ZCNodePoint ;
class ZNodekPointC;
class ZNodekPointN;
/**************************************************/
typedef TType Type ;
typedef TType TypeData ;
@ -792,10 +792,11 @@ namespace ZNsMain
typedef const TypeList TypeListC ;
typedef const TypeLink TypeLinkC ;
typedef const TypeNode TypeNodeC ;
typedef const TypeIter TypeIterC ;
/**************************************************/
typedef ZCNodePoint iterator ;
typedef ZNodekPointC const_iterator ;
typedef ZNodekPointC iteratorC ;
typedef ZNodekPointN const_iterator ;
typedef ZNodekPointN iteratorN ;
/**************************************************/
typedef typename TFeeeHeap::
template ZtCBody<ZtCSimList> ZCFreeHeap;
@ -1098,61 +1099,61 @@ namespace ZNsMain
class ZCNodePoint*/
class ZNodekPointC
class ZNodekPointN
{
protected:
const TypeList& mr_CurrList;
mutable TypeLinkC* mp_CurrLink; // 사실상 mp_CurrLink!=0
mutable TypeSize ml_CurrPos ;
public :
ZNodekPointC(const TypeList& AR_TypeList) :
ZNodekPointN(const TypeList& AR_TypeList) :
mr_CurrList(AR_TypeList)
{
mp_CurrLink = AR_TypeList.HeadPtr();
ml_CurrPos = 1 ;
}
ZNodekPointC(const ZCNodePoint & rhs) :
ZNodekPointN(const ZCNodePoint & rhs) :
mr_CurrList( rhs.GetMain()),
mp_CurrLink(&rhs.GetNode()),
ml_CurrPos ( rhs.GetPos ())
{}
ZNodekPointC(const ZNodekPointC& rhs) :
ZNodekPointN(const ZNodekPointN& rhs) :
mr_CurrList(rhs.mr_CurrList),
mp_CurrLink(rhs.mp_CurrLink),
ml_CurrPos (rhs.ml_CurrPos )
{}
public :
static ZNodekPointC MakeTailPoint(const TypeList& AR_TypeList)
static ZNodekPointN MakeTailPoint(const TypeList& AR_TypeList)
{
ZNodekPointC VO_ZCLinkPoint(AR_TypeList);
ZNodekPointN VO_ZCLinkPoint(AR_TypeList);
VO_ZCLinkPoint.mp_CurrLink = AR_TypeList.mp_TailLink;
VO_ZCLinkPoint.ml_CurrPos = AR_TypeList.ml_LinkSize;
return VO_ZCLinkPoint; /****************/
}/*
static ZNodekPointC MakeTailPoint(const TypeList& AR_TypeList)*/
static ZNodekPointC MakeTailPoint(const ZCNodePoint& AR_TypeIter)
static ZNodekPointN MakeTailPoint(const TypeList& AR_TypeList)*/
static ZNodekPointN MakeTailPoint(const ZCNodePoint& AR_TypeIter)
{
ZNodekPointC VO_ZCLinkPoint(AR_TypeIter);
ZNodekPointN 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 ZNodekPointC MakeTailPoint(const ZCNodePoint& AR_TypeIter)*/
static ZNodekPointC MakeTailPoint(const ZNodekPointC& AR_TypeIter)
static ZNodekPointN MakeTailPoint(const ZCNodePoint& AR_TypeIter)*/
static ZNodekPointN MakeTailPoint(const ZNodekPointN& AR_TypeIter)
{
ZNodekPointC VO_ZCLinkPoint(AR_TypeIter);
ZNodekPointN 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 ZNodekPointC MakeTailPoint(const ZNodekPointC& AR_TypeIter)*/
static ZNodekPointN MakeTailPoint(const ZNodekPointN& AR_TypeIter)*/
public :
@ -1167,7 +1168,7 @@ namespace ZNsMain
bool IsEmpty() const{return mr_CurrList.size()<1;}
ZNodekPointC& operator= (const ZNodekPointC& rhs){ return *this; }
ZNodekPointN& operator= (const ZNodekPointN& rhs){ return *this; }
TypeDataC& operator*() const{return **mp_CurrLink;}
@ -1175,17 +1176,17 @@ namespace ZNsMain
operator TypeLinkC& () const{return *mp_CurrLink;}
bool operator == (const ZNodekPointC& rhs) const
bool operator == (const ZNodekPointN& rhs) const
{ return ml_CurrPos == rhs.ml_CurrPos; }
bool operator != (const ZNodekPointC& rhs) const
bool operator != (const ZNodekPointN& rhs) const
{ return ml_CurrPos != rhs.ml_CurrPos; }
bool operator > (const ZNodekPointC& rhs) const
bool operator > (const ZNodekPointN& rhs) const
{ return ml_CurrPos > rhs.ml_CurrPos; }
bool operator >= (const ZNodekPointC& rhs) const
bool operator >= (const ZNodekPointN& rhs) const
{ return ml_CurrPos >= rhs.ml_CurrPos; }
bool operator < (const ZNodekPointC& rhs) const
bool operator < (const ZNodekPointN& rhs) const
{ return ml_CurrPos < rhs.ml_CurrPos; }
bool operator <= (const ZNodekPointC& rhs) const
bool operator <= (const ZNodekPointN& rhs) const
{ return ml_CurrPos <= rhs.ml_CurrPos; }
bool operator == (TypeSize AL_Size) const
@ -1202,26 +1203,26 @@ namespace ZNsMain
{ return ml_CurrPos <= AL_Size; }
const ZNodekPointC& operator++() const
const ZNodekPointN& operator++() const
{
mp_CurrLink = mp_CurrLink->mp_NextLink;
++ml_CurrPos; return *this ;
}/*
const ZNodekPointC& operator++() const*/
const ZNodekPointN& operator++() const*/
ZNodekPointC operator++(int) const
ZNodekPointN operator++(int) const
{
ZNodekPointC VO_NowPoint(*this);
ZNodekPointN VO_NowPoint(*this);
mp_CurrLink = mp_CurrLink->mp_NextLink;
++ml_CurrPos ; return VO_NowPoint ;
}/*
ZNodekPointC operator++(int) const*/
ZNodekPointN operator++(int) const*/
const ZNodekPointC& operator+=(TypeSize AL_Distance) const
const ZNodekPointN& operator+=(TypeSize AL_Distance) const
{
if(IsEmpty()){return *this;}
@ -1230,11 +1231,11 @@ namespace ZNsMain
return *this; /*:::::::::::::::::::::::::::*/
}/*
const ZNodekPointC& operator+=(TypeSize AL_Distance) const*/
const ZNodekPointN& operator+=(TypeSize AL_Distance) const*/
public:
};/*
class ZNodekPointC*/
class ZNodekPointN*/
public :
@ -2318,7 +2319,7 @@ namespace ZNsMain
void MoveNextIter(iterator & ARR_iterator)
{ ++ARR_iterator ; }
void MoveNextIter(iteratorC& ARR_iterator) const
void MoveNextIter(iteratorN& ARR_iterator) const
{ ++ARR_iterator ; }
@ -2337,7 +2338,7 @@ namespace ZNsMain
TypeDataC& GetDataInIter(IterEasyIDc APPI_IterEasyID) const
{ return GetDataInIter((ZCLinkC*)APPI_IterEasyID) ; }
TypeDataC& GetDataInIter(iteratorC& ARR_iterator) const
TypeDataC& GetDataInIter(iteratorN& ARR_iterator) const
{ return *ARR_iterator ; }
@ -2369,7 +2370,7 @@ namespace ZNsMain
void ItNext(IterEasyIDc& APPI_IterEasyID) const
{ MoveNextIter(APPI_IterEasyID) ; }
void ItNext(iteratorC& ARR_Iterator ) const
void ItNext(iteratorN& ARR_Iterator ) const
{ ++ARR_Iterator ; }
@ -2388,14 +2389,17 @@ namespace ZNsMain
TypeDataC& ItD(IterEasyIDc APPI_IterEasyID ) const
{ return ItD((ZCLinkC*)APPI_IterEasyID); }
TypeDataC& ItD(iteratorC& ARR_Iterator ) const
TypeDataC& ItD(iteratorN& ARR_Iterator ) const
{ return *ARR_Iterator; }
iterator begin () { return ZCNodePoint (*this); }
iteratorC begin () const{ return ZNodekPointC(*this); }
iteratorN begin () const{ return ZNodekPointN(*this); }
iterator end () { return ZCNodePoint ::MakeTailPoint(*this); }
iteratorC end () const{ return ZNodekPointC::MakeTailPoint(*this); }
iteratorN end () const{ return ZNodekPointN::MakeTailPoint(*this); }
iteratorN cbegin() const{ return ZNodekPointN(*this); }
iteratorN cend () const{ return ZNodekPointN::MakeTailPoint(*this); }
ZCLink * HeadPtr() {return mp_HeadLink;}