commit 2025-10-14 00:11 edit a bit ZCppMain/ZMainHead.H

This commit is contained in:
2025-10-14 00:11:29 +09:00
parent 5166bbe7cf
commit 15f24be62d
3 changed files with 81 additions and 106 deletions

View File

@ -5723,7 +5723,7 @@ namespace ZNsMain
typedef const TypeList TypeListC ; typedef const TypeList TypeListC ;
typedef const TypeData TypeDataC ; typedef const TypeData TypeDataC ;
typedef const TypeNode TypeNodeC ; // ZCNodePoint::GetNode() const 의 반환형. typedef const TypeNode TypeNodeC ; // ZCNodePoint::GetNode() const 의 반환형.
typedef const ZCLink TypeLinkC ; typedef const TypeLink TypeLinkC ;
typedef const ZCLink ZCLinkC ; typedef const ZCLink ZCLinkC ;
typedef const IterEasy IterEasyC ; typedef const IterEasy IterEasyC ;
@ -5819,10 +5819,9 @@ namespace ZNsMain
return VP_TmpLink; return VP_TmpLink;
}/* }/*
ZCLink * GetNextPrevPtr(TypeSize AL_FarNum)*/ ZCLink * GetNextPrevPtr(TypeSize AL_FarNum)*/
ZCLinkC* GetNextPrevPtr(TypeSize AL_FarNum) const
const ZCLink* GetNextPrevPtr(TypeSize AL_FarNum) const
{ {
ZCLink* VP_TmpLink=const_cast<ZCLink*>(this); ZCLinkC* VP_TmpLink = this;
if(AL_FarNum>=0) if(AL_FarNum>=0)
{ while(--AL_FarNum>=0) VP_TmpLink=VP_TmpLink->mp_NextLink; } { while(--AL_FarNum>=0) VP_TmpLink=VP_TmpLink->mp_NextLink; }
@ -5830,7 +5829,7 @@ namespace ZNsMain
return VP_TmpLink; return VP_TmpLink;
}/* }/*
const ZCLink* GetNextPrevPtr(TypeSize AL_FarNum) const*/ ZCLinkC* GetNextPrevPtr(TypeSize AL_FarNum) const*/
operator TypeData& () {return mo_DataObjt;} operator TypeData& () {return mo_DataObjt;}
@ -5965,7 +5964,6 @@ namespace ZNsMain
++ml_CurrPos; return *this ; ++ml_CurrPos; return *this ;
}/* }/*
const ZCNodePoint& operator++() const*/ const ZCNodePoint& operator++() const*/
const ZCNodePoint& operator--() const const ZCNodePoint& operator--() const
{ {
mp_CurrLink = mp_CurrLink->mp_PrevLink; mp_CurrLink = mp_CurrLink->mp_PrevLink;
@ -5983,7 +5981,6 @@ namespace ZNsMain
++ml_CurrPos ; return VO_NowPoint ; ++ml_CurrPos ; return VO_NowPoint ;
}/* }/*
ZCNodePoint operator++(int) const*/ ZCNodePoint operator++(int) const*/
ZCNodePoint operator--(int) const ZCNodePoint operator--(int) const
{ {
ZCNodePoint VO_NowPoint(*this); ZCNodePoint VO_NowPoint(*this);
@ -6005,7 +6002,6 @@ namespace ZNsMain
return *this; /*:::::::::::::::::::::::::::*/ return *this; /*:::::::::::::::::::::::::::*/
}/* }/*
const ZCNodePoint& operator+=(TypeSize AL_Distance) const*/ const ZCNodePoint& operator+=(TypeSize AL_Distance) const*/
const ZCNodePoint& operator-=(TypeSize AL_Distance) const const ZCNodePoint& operator-=(TypeSize AL_Distance) const
{ {
mp_CurrLink = &((*mp_CurrLink)-AL_Distance); mp_CurrLink = &((*mp_CurrLink)-AL_Distance);
@ -6078,8 +6074,8 @@ namespace ZNsMain
public : public :
TypeListC& GetMain() const{return mr_CurrList;} TypeThisC& GetMain() const{return mr_CurrList;}
TypeLinkC& GetNode() const{return *mp_CurrLink;} TypeNodeC& GetNode() const{return *mp_CurrLink;}
/***************************************************/ /***************************************************/
TypeSize GetPos () const{return ml_CurrPos ;} TypeSize GetPos () const{return ml_CurrPos ;}
/***************************************************/ /***************************************************/
@ -6093,8 +6089,8 @@ namespace ZNsMain
TypeDataC& operator*() const{return **mp_CurrLink;} TypeDataC& operator*() const{return **mp_CurrLink;}
operator TypeLinkC* () const{return mp_CurrLink;} operator TypeNodeC* () const{return mp_CurrLink;}
operator TypeLinkC& () const{return *mp_CurrLink;} operator TypeNodeC& () const{return *mp_CurrLink;}
bool operator == (const ZCNodePointC& rhs) const bool operator == (const ZCNodePointC& rhs) const

View File

@ -934,10 +934,9 @@ namespace ZNsMain
return VP_TmpLink; return VP_TmpLink;
}/* }/*
ZCLink * GetNextPrevPtr(TypeSize AL_FarNum)*/ ZCLink * GetNextPrevPtr(TypeSize AL_FarNum)*/
ZCLinkC* GetNextPrevPtr(TypeSize AL_FarNum) const // or ZCLink const * const GetNextPrevPtr(TypeSize AL_FarNum) const
const ZCLink* GetNextPrevPtr(TypeSize AL_FarNum) const // or ZCLink const * const GetNextPrevPtr(TypeSize AL_FarNum) const
{ {
ZCLink* VP_TmpLink=const_cast<ZCLink*>(this); ZCLinkC* VP_TmpLink = this;
if(AL_FarNum>=0) if(AL_FarNum>=0)
{ {
@ -951,14 +950,14 @@ namespace ZNsMain
return VP_TmpLink; return VP_TmpLink;
}/* }/*
const ZCLink* GetNextPrevPtr(TypeSize AL_FarNum) const*/ ZCLinkC* GetNextPrevPtr(TypeSize AL_FarNum) const*/
ZCLink * GetNextPtr() {return mp_NextLink;} ZCLink * GetNextPtr() {return mp_NextLink;}
ZCLink * GetPrevPtr() {return mp_PrevLink;} ZCLink * GetPrevPtr() {return mp_PrevLink;}
const ZCLink* GetNextPtr() const{return mp_NextLink;} ZCLinkC* GetNextPtr() const{return mp_NextLink;}
const ZCLink* GetPrevPtr() const{return mp_PrevLink;} ZCLinkC* GetPrevPtr() const{return mp_PrevLink;}
ZCLink* GetNextPtr(TypeSize AL_Distance) ZCLink* GetNextPtr(TypeSize AL_Distance)
@ -986,29 +985,29 @@ namespace ZNsMain
ZCLink* GetPrevPtr(TypeSize AL_Distance)*/ ZCLink* GetPrevPtr(TypeSize AL_Distance)*/
const ZCLink* GetNextPtr(TypeSize AL_Distance) const ZCLinkC* GetNextPtr(TypeSize AL_Distance) const
{ {
TypeSize VL_LoopIndex= 0 ; TypeSize VL_LoopIndex= 0 ;
ZCLink* VP_TmpLink =const_cast<ZCLink*>(this); ZCLinkC* VP_TmpLink = this ;
while(VL_LoopIndex++ < AL_Distance) while(VL_LoopIndex++ < AL_Distance)
VP_TmpLink = VP_TmpLink->mp_NextLink ; VP_TmpLink = VP_TmpLink->mp_NextLink ;
return VP_TmpLink; return VP_TmpLink;
}/* }/*
const ZCLink* GetNextPtr(TypeSize AL_Distance) const*/ ZCLinkC* GetNextPtr(TypeSize AL_Distance) const*/
const ZCLink* GetPrevPtr(TypeSize AL_Distance) const ZCLinkC* GetPrevPtr(TypeSize AL_Distance) const
{ {
TypeSize VL_LoopIndex= 0 ; TypeSize VL_LoopIndex= 0 ;
ZCLink* VP_TmpLink = const_cast<ZCLink*>(this) ; ZCLinkC* VP_TmpLink = this ;
while(VL_LoopIndex++ < AL_Distance) while(VL_LoopIndex++ < AL_Distance)
VP_TmpLink = VP_TmpLink->mp_PrevLink ; VP_TmpLink = VP_TmpLink->mp_PrevLink ;
return VP_TmpLink; return VP_TmpLink;
}/* }/*
const ZCLink* GetPrevPtr(TypeSize AL_Distance) const*/ ZCLinkC* GetPrevPtr(TypeSize AL_Distance) const*/
ZCLink & operator+(TypeSize AL_Distance) ZCLink & operator+(TypeSize AL_Distance)
@ -1028,21 +1027,21 @@ namespace ZNsMain
ZCLink & operator-(TypeSize AL_Distance)*/ ZCLink & operator-(TypeSize AL_Distance)*/
const ZCLink& operator+(TypeSize AL_Distance) const ZCLinkC& operator+(TypeSize AL_Distance) const
{ {
if(AL_Distance>=0) if(AL_Distance>=0)
return *GetNextPtr(AL_Distance); return *GetNextPtr(AL_Distance);
else return *GetPrevPtr(AL_Distance); else return *GetPrevPtr(AL_Distance);
}/* }/*
const ZCLink& operator+(TypeSize AL_Distance) const*/ ZCLinkC& operator+(TypeSize AL_Distance) const*/
const ZCLink& operator-(TypeSize AL_Distance) const ZCLinkC& operator-(TypeSize AL_Distance) const
{ {
if(AL_Distance>=0) if(AL_Distance>=0)
return *GetPrevPtr(AL_Distance); return *GetPrevPtr(AL_Distance);
else return *GetNextPtr(AL_Distance); else return *GetNextPtr(AL_Distance);
}/* }/*
const ZCLink& operator-(TypeSize AL_Distance) const*/ ZCLinkC& operator-(TypeSize AL_Distance) const*/
public: public:
};/* };/*
@ -1266,8 +1265,8 @@ namespace ZNsMain
public : public :
TypeListC& GetMain() const{return mr_CurrList;} TypeThisC& GetMain() const{return mr_CurrList;}
TypeLinkC& GetNode() const{return *mp_CurrLink;} TypeNodeC& GetNode() const{return *mp_CurrLink;}
/***************************************************/ /***************************************************/
TypeSize GetPos () const{return ml_CurrPos ;} TypeSize GetPos () const{return ml_CurrPos ;}
/***************************************************/ /***************************************************/
@ -1281,8 +1280,8 @@ namespace ZNsMain
TypeDataC& operator*() const{return **mp_CurrLink;} TypeDataC& operator*() const{return **mp_CurrLink;}
operator TypeLinkC* () const{return mp_CurrLink;} operator TypeNodeC* () const{return mp_CurrLink;}
operator TypeLinkC& () const{return *mp_CurrLink;} operator TypeNodeC& () const{return *mp_CurrLink;}
bool operator == (const ZCNodePointC& rhs) const bool operator == (const ZCNodePointC& rhs) const

View File

@ -918,7 +918,7 @@ namespace ZNsMain
ZCLink* GetNextPtr(TypeSize AL_FarNum)*/ ZCLink* GetNextPtr(TypeSize AL_FarNum)*/
const ZCLink* const GetNextPtr(TypeSize AL_FarNum) const // or ZCLink const * const GetNextPtr(TypeSize AL_FarNum) const ZCLinkC* const GetNextPtr(TypeSize AL_FarNum) const // or ZCLink const * const GetNextPtr(TypeSize AL_FarNum) const
{ {
// TypeSize 가 object 일 경우 AL_FarNum 의 값이 이 함수에서 변하고 있으므로 // TypeSize 가 object 일 경우 AL_FarNum 의 값이 이 함수에서 변하고 있으므로
// TypeSize 을 참조로 받으면 안된다. // TypeSize 을 참조로 받으면 안된다.
@ -935,20 +935,11 @@ namespace ZNsMain
return VP_TmpLink; return VP_TmpLink;
}/* }/*
const ZCLink* const GetNextPtr(TypeSize AL_FarNum) const*/ ZCLinkC* const GetNextPtr(TypeSize AL_FarNum) const*/
inline ZCLink* GetNextPtr() inline ZCLink * GetNextPtr() { return mp_NextLink; }
{ inline ZCLinkC* const GetNextPtr() const{ return mp_NextLink; }
return mp_NextLink;
}/*
inline ZCLink* GetNextPtr()*/
inline const ZCLink* const GetNextPtr() const
{
return mp_NextLink;
}/*
inline const ZCLink* const GetNextPtr() const*/
ZCLink& operator=(TypeArg AR_Type) ZCLink& operator=(TypeArg AR_Type)
{ {
@ -1261,7 +1252,7 @@ namespace ZNsMain
ZtCSimList& CopyLink /*######################################*/ ZtCSimList& CopyLink /*######################################*/
( (
const ZCLink* const AP_CopyLink , ZCLinkC* const AP_CopyLink ,
TypeSize AL_FarNum , TypeSize AL_FarNum ,
ZtCSimList& ARR_Rhs ZtCSimList& ARR_Rhs
) const ) const
@ -1294,7 +1285,7 @@ namespace ZNsMain
}/* }/*
ZtCSimList& CopyLink ########################################## ZtCSimList& CopyLink ##########################################
( (
const ZCLink* const AP_CopyLink , ZCLinkC* const AP_CopyLink ,
TypeSize AL_FarNum , TypeSize AL_FarNum ,
ZtCSimList& ARR_Rhs ZtCSimList& ARR_Rhs
) const ) const
@ -1679,6 +1670,13 @@ namespace ZNsMain
void AddTailDef(TypeSize AL_DefaultSize)*/ void AddTailDef(TypeSize AL_DefaultSize)*/
TypeData & front() {return mp_HeadLink->mo_DataObjt;}
TypeData & back () {return mp_TailLink->mo_DataObjt;}
TypeDataC& front() const{return mp_HeadLink->mo_DataObjt;}
TypeDataC& back () const{return mp_TailLink->mo_DataObjt;}
ZCLink * GetHeadLinkPtr () {return mp_HeadLink;} ZCLink * GetHeadLinkPtr () {return mp_HeadLink;}
ZCLink * GetHeadIterEasy () {return mp_HeadLink;} ZCLink * GetHeadIterEasy () {return mp_HeadLink;}
IterEasyID GetHeadIterEasyID () {return (IterEasyID)mp_HeadLink;} IterEasyID GetHeadIterEasyID () {return (IterEasyID)mp_HeadLink;}
@ -1687,10 +1685,6 @@ namespace ZNsMain
ZCLink * GetTailIterEasy () {return mp_TailLink;} ZCLink * GetTailIterEasy () {return mp_TailLink;}
IterEasyID GetTailIterEasyID () {return (IterEasyID)mp_TailLink;} IterEasyID GetTailIterEasyID () {return (IterEasyID)mp_TailLink;}
TypeData& front(){return mp_HeadLink->mo_DataObjt;}
TypeData& back (){return mp_TailLink->mo_DataObjt;}
ZCLinkC* GetHeadLinkPtr () const{return mp_HeadLink;} ZCLinkC* GetHeadLinkPtr () const{return mp_HeadLink;}
ZCLinkC* GetHeadIterEasy () const{return mp_HeadLink;} ZCLinkC* GetHeadIterEasy () const{return mp_HeadLink;}
IterEasyIDc GetHeadIterEasyID () const{return (IterEasyID)mp_HeadLink;} IterEasyIDc GetHeadIterEasyID () const{return (IterEasyID)mp_HeadLink;}
@ -1699,9 +1693,6 @@ namespace ZNsMain
ZCLinkC* GetTailIterEasy () const{return mp_TailLink;} ZCLinkC* GetTailIterEasy () const{return mp_TailLink;}
IterEasyIDc GetTailIterEasyID () const{return (IterEasyID)mp_TailLink;} IterEasyIDc GetTailIterEasyID () const{return (IterEasyID)mp_TailLink;}
TypeDataC& front() const{return mp_HeadLink->mo_DataObjt;}
TypeDataC& back () const{return mp_TailLink->mo_DataObjt;}
void pop_back (TypeArg AR_Type){ return AddHead(AR_Type); } void pop_back (TypeArg AR_Type){ return AddHead(AR_Type); }
void push_back(TypeArg AR_Type){ return AddTail(AR_Type); } void push_back(TypeArg AR_Type){ return AddTail(AR_Type); }
@ -1957,7 +1948,7 @@ namespace ZNsMain
void clear(){DeleteAll();} void clear(){DeleteAll();}
TypeSize Find(const ZCLink* AP_pSearchLink, TypeSize AL_FirstFindIndex=1) const TypeSize Find(ZCLinkC* AP_pSearchLink, TypeSize AL_FirstFindIndex=1) const
{ {
const bool CB_DoStop = ////////////////////// const bool CB_DoStop = //////////////////////
( (
@ -2035,24 +2026,13 @@ namespace ZNsMain
ZCLink * GetLinkPtr(TypeSize AL_Index) ZCLink * GetLinkPtr(TypeSize AL_Index)
{ { return mp_HeadLink->GetNextPtr(AL_Index-1); }
return mp_HeadLink->GetNextPtr(AL_Index-1);
}/* ZCLinkC* GetLinkPtr(TypeSize AL_Index) const
ZCLink* GetLinkPtr(TypeSize AL_Index)*/ { return mp_HeadLink->GetNextPtr(AL_Index-1); }
const ZCLink* GetLinkPtr(TypeSize AL_Index) const ZCFreeHeap& GetCFreeHeap() const{return mo_FreeObjt;}
{
return mp_HeadLink->GetNextPtr(AL_Index-1);
}/*
const ZCLink* GetLinkPtr(TypeSize AL_Index) const*/
ZCFreeHeap& GetCFreeHeap() const
{
return mo_FreeObjt;
}/*
ZCFreeHeap& GetCFreeHeap() const*/
inline TypeSize GetSize() const inline TypeSize GetSize() const
@ -2329,11 +2309,11 @@ namespace ZNsMain
void MoveNextIter(IterEasyID& APPI_IterEasyID) void MoveNextIter(IterEasyID& APPI_IterEasyID)
{ MoveNextIter((ZCLink*&)APPI_IterEasyID) ; } { MoveNextIter((ZCLink*&)APPI_IterEasyID) ; }
void MoveNextIter(const ZCLink*& APR_CLink) const void MoveNextIter(ZCLinkC*& APR_CLink) const
{ APR_CLink=APR_CLink->GetNextPtr() ; } { APR_CLink=APR_CLink->GetNextPtr() ; }
void MoveNextIter(IterEasyIDc& APPI_IterEasyID) const void MoveNextIter(IterEasyIDc& APPI_IterEasyID) const
{ MoveNextIter((const ZCLink*&)APPI_IterEasyID) ; } { MoveNextIter((ZCLinkC*&)APPI_IterEasyID) ; }
void MoveNextIter(iterator & ARR_iterator) void MoveNextIter(iterator & ARR_iterator)
{ ++ARR_iterator ; } { ++ARR_iterator ; }
@ -2351,11 +2331,11 @@ namespace ZNsMain
TypeData & GetDataInIter(iterator & ARR_iterator) TypeData & GetDataInIter(iterator & ARR_iterator)
{ return *ARR_iterator ; } { return *ARR_iterator ; }
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
TypeDataC& GetDataInIter(const ZCLink* AP_CLink) const TypeDataC& GetDataInIter(ZCLinkC* AP_CLink) const
{ return **AP_CLink ; } { return **AP_CLink ; }
TypeDataC& GetDataInIter(IterEasyIDc APPI_IterEasyID) const TypeDataC& GetDataInIter(IterEasyIDc APPI_IterEasyID) const
{ return GetDataInIter((const ZCLink*)APPI_IterEasyID) ; } { return GetDataInIter((ZCLinkC*)APPI_IterEasyID) ; }
TypeDataC& GetDataInIter(iteratorC& ARR_iterator) const TypeDataC& GetDataInIter(iteratorC& ARR_iterator) const
{ return *ARR_iterator ; } { return *ARR_iterator ; }