commit 2025-10-13 12:33 edit a bit ZCppMain/ZtCObjList.H
This commit is contained in:
@ -828,12 +828,12 @@ namespace ZNsMain
|
||||
typedef const TypeList TypeListC ;
|
||||
typedef const TypeData TypeDataC ;
|
||||
typedef const TypeLink TypeLinkC ;
|
||||
typedef const TypeNode TypeNodeC ; // ZCNodePoint::GetNode() const 의 반환형.
|
||||
typedef const TypeNode TypeNodeC ; // ZCNodePoint::GetNode() const 의 반환형.
|
||||
|
||||
typedef const IterEasy IterEasyC ;
|
||||
typedef const ZCLink ZCLinkC ;
|
||||
typedef const ZCLinkOpt ZCLinkOptC ;
|
||||
typedef const ZCDataOpt ZCDataOptC ;
|
||||
typedef const IterEasy IterEasyC ;
|
||||
|
||||
typedef ZCNodePointC iteratorC ;
|
||||
|
||||
@ -2588,43 +2588,37 @@ namespace ZNsMain
|
||||
ZCFreeHeap& GetCFreeHeap() const{return mo_FreeObjt;}
|
||||
|
||||
|
||||
TypeData& GetHeadData(){return mp_HeadLink->mo_DataObjt;}
|
||||
TypeData& GetTailData(){return mp_TailLink->mo_DataObjt;}
|
||||
TypeData & GetHeadData() {return mp_HeadLink->mo_DataObjt;}
|
||||
TypeData & GetTailData() {return mp_TailLink->mo_DataObjt;}
|
||||
|
||||
const TypeData& GetHeadData() const{return mp_HeadLink->mo_DataObjt;}
|
||||
const TypeData& GetTailData() const{return mp_TailLink->mo_DataObjt;}
|
||||
TypeDataC& GetHeadData() const{return mp_HeadLink->mo_DataObjt;}
|
||||
TypeDataC& GetTailData() const{return mp_TailLink->mo_DataObjt;}
|
||||
|
||||
operator TypeData&() { return AddTail() ; }
|
||||
|
||||
|
||||
ZCDataOpt GetHeadDataOpt()
|
||||
{
|
||||
if(mp_HeadLink==0) return ZCDataOpt(0);
|
||||
|
||||
return ZCDataOpt(mp_HeadLink->mo_DataObjt);
|
||||
}
|
||||
{ if(mp_HeadLink==0) return ZCDataOpt(0);
|
||||
return ZCDataOpt(mp_HeadLink->mo_DataObjt);
|
||||
}
|
||||
ZCDataOpt GetTailDataOpt()
|
||||
{
|
||||
if(mp_TailLink==0) return ZCDataOpt(0);
|
||||
{ if(mp_TailLink==0) return ZCDataOpt(0);
|
||||
return ZCDataOpt(mp_TailLink->mo_DataObjt);
|
||||
}
|
||||
|
||||
return ZCDataOpt(mp_TailLink->mo_DataObjt);
|
||||
}/*
|
||||
ZCDataOpt GetTailDataOpt()*/
|
||||
|
||||
|
||||
const ZCDataOpt GetHeadDataOpt() const
|
||||
ZCDataOptC GetHeadDataOpt() const
|
||||
{
|
||||
if(mp_HeadLink==0) return ZCDataOpt(0);
|
||||
|
||||
return ZCDataOpt(mp_HeadLink->mo_DataObjt);
|
||||
}
|
||||
const ZCDataOpt GetTailDataOpt() const
|
||||
ZCDataOptC GetTailDataOpt() const
|
||||
{
|
||||
if(mp_TailLink==0) return ZCDataOpt(0);
|
||||
|
||||
return ZCDataOpt(mp_TailLink->mo_DataObjt);
|
||||
}/*
|
||||
const ZCDataOpt GetTailDataOpt()*/
|
||||
ZCDataOptC GetTailDataOpt()*/
|
||||
|
||||
|
||||
|
||||
@ -2652,11 +2646,11 @@ namespace ZNsMain
|
||||
void pop_back (){DeleteTail();}
|
||||
|
||||
|
||||
TypeData& front(){return GetHeadData();}
|
||||
TypeData& back (){return GetTailData();}
|
||||
TypeData & front() {return GetHeadData();}
|
||||
TypeData & back () {return GetTailData();}
|
||||
|
||||
const TypeData& front() const{return GetHeadData();}
|
||||
const TypeData& back () const{return GetTailData();}
|
||||
TypeDataC& front() const{return GetHeadData();}
|
||||
TypeDataC& back () const{return GetTailData();}
|
||||
|
||||
|
||||
template<typename TFunctor> void IterElement(TFunctor AO_Functor)
|
||||
@ -2942,150 +2936,121 @@ namespace ZNsMain
|
||||
|
||||
|
||||
|
||||
ZCLink* GetHeadLinkPtr(){return mp_HeadLink;}
|
||||
ZCLink* GetTailLinkPtr(){return mp_TailLink;}
|
||||
ZCLink * GetHeadLinkPtr() {return mp_HeadLink;}
|
||||
ZCLink * GetTailLinkPtr() {return mp_TailLink;}
|
||||
|
||||
const ZCLink* GetHeadLinkPtr() const{return mp_HeadLink;}
|
||||
const ZCLink* GetTailLinkPtr() const{return mp_TailLink;}
|
||||
ZCLinkC* GetHeadLinkPtr() const{return mp_HeadLink;}
|
||||
ZCLinkC* GetTailLinkPtr() const{return mp_TailLink;}
|
||||
|
||||
ZCLink* GetLinkPtr(TypeSize AI_Index) {return mp_HeadLink->GetNextPrevPtr(AI_Index-1);}
|
||||
const ZCLink* GetLinkPtr(TypeSize AI_Index) const{return mp_HeadLink->GetNextPrevPtr(AI_Index-1);}
|
||||
ZCLink * GetLinkPtr(TypeSize AI_Index) {return mp_HeadLink->GetNextPrevPtr(AI_Index-1);}
|
||||
ZCLinkC* GetLinkPtr(TypeSize AI_Index) const{return mp_HeadLink->GetNextPrevPtr(AI_Index-1);}
|
||||
|
||||
|
||||
ZCLink& GetHeadLink(TypeSize AI_Distance){return (*mp_HeadLink)+AI_Distance;}
|
||||
ZCLink& GetTailLink(TypeSize AI_Distance){return (*mp_TailLink)-AI_Distance;}
|
||||
ZCLink & GetHeadLink(TypeSize AI_Distance) {return (*mp_HeadLink)+AI_Distance;}
|
||||
ZCLink & GetTailLink(TypeSize AI_Distance) {return (*mp_TailLink)-AI_Distance;}
|
||||
|
||||
const ZCLink& GetHeadLink(TypeSize AI_Distance) const{return (*mp_HeadLink)+AI_Distance;}
|
||||
const ZCLink& GetTailLink(TypeSize AI_Distance) const{return (*mp_TailLink)-AI_Distance;}
|
||||
ZCLinkC& GetHeadLink(TypeSize AI_Distance) const{return (*mp_HeadLink)+AI_Distance;}
|
||||
ZCLinkC& GetTailLink(TypeSize AI_Distance) const{return (*mp_TailLink)-AI_Distance;}
|
||||
|
||||
|
||||
ZCLink& GetNode(TypeSize AI_Index) {return (*mp_HeadLink)+(AI_Index-1);}
|
||||
const ZCLink& GetNode(TypeSize AI_Index) const{return (*mp_HeadLink)+(AI_Index-1);}
|
||||
ZCLink & GetNode(TypeSize AI_Index) {return (*mp_HeadLink)+(AI_Index-1);}
|
||||
ZCLinkC& GetNode(TypeSize AI_Index) const{return (*mp_HeadLink)+(AI_Index-1);}
|
||||
|
||||
|
||||
ZCLink* HeadPtr(){return mp_HeadLink;}
|
||||
ZCLink* TailPtr(){return mp_TailLink;}
|
||||
ZCLink * HeadPtr() {return mp_HeadLink;}
|
||||
ZCLink * TailPtr() {return mp_TailLink;}
|
||||
|
||||
ZCLink* HeadPtr(TypeSize AI_Distance){return &((*mp_HeadLink)+AI_Distance);}
|
||||
ZCLink* TailPtr(TypeSize AI_Distance){return &((*mp_TailLink)-AI_Distance);}
|
||||
ZCLinkC* HeadPtr() const{return mp_HeadLink;}
|
||||
ZCLinkC* TailPtr() const{return mp_TailLink;}
|
||||
|
||||
const ZCLink* HeadPtr() const{return mp_HeadLink;}
|
||||
const ZCLink* TailPtr() const{return mp_TailLink;}
|
||||
ZCLink * HeadPtr(TypeSize AI_Distance){return &((*mp_HeadLink)+AI_Distance);}
|
||||
ZCLink * TailPtr(TypeSize AI_Distance){return &((*mp_TailLink)-AI_Distance);}
|
||||
|
||||
const ZCLink* HeadPtr(TypeSize AI_Distance) const{return &((*mp_HeadLink)+AI_Distance);}
|
||||
const ZCLink* TailPtr(TypeSize AI_Distance) const{return &((*mp_TailLink)-AI_Distance);}
|
||||
ZCLinkC* HeadPtr(TypeSize AI_Distance) const{return &((*mp_HeadLink)+AI_Distance);}
|
||||
ZCLinkC* TailPtr(TypeSize AI_Distance) const{return &((*mp_TailLink)-AI_Distance);}
|
||||
|
||||
|
||||
ZCLink& HeadRef(){return *mp_HeadLink;}
|
||||
ZCLink& TailRef(){return *mp_TailLink;}
|
||||
ZCLink & HeadRef() {return *mp_HeadLink;}
|
||||
ZCLink & TailRef() {return *mp_TailLink;}
|
||||
|
||||
ZCLink& HeadRef(TypeSize AI_Distance){return (*mp_HeadLink)+AI_Distance;}
|
||||
ZCLink& TailRef(TypeSize AI_Distance){return (*mp_TailLink)-AI_Distance;}
|
||||
ZCLinkC& HeadRef() const{return *mp_HeadLink;}
|
||||
ZCLinkC& TailRef() const{return *mp_TailLink;}
|
||||
|
||||
const ZCLink& HeadRef() const{return *mp_HeadLink;}
|
||||
const ZCLink& TailRef() const{return *mp_TailLink;}
|
||||
ZCLink & HeadRef(TypeSize AI_Distance) {return (*mp_HeadLink)+AI_Distance;}
|
||||
ZCLink & TailRef(TypeSize AI_Distance) {return (*mp_TailLink)-AI_Distance;}
|
||||
|
||||
const ZCLink& HeadRef(TypeSize AI_Distance) const{return (*mp_HeadLink)+AI_Distance;}
|
||||
const ZCLink& TailRef(TypeSize AI_Distance) const{return (*mp_TailLink)-AI_Distance;}
|
||||
ZCLinkC& HeadRef(TypeSize AI_Distance) const{return (*mp_HeadLink)+AI_Distance;}
|
||||
ZCLinkC& TailRef(TypeSize AI_Distance) const{return (*mp_TailLink)-AI_Distance;}
|
||||
|
||||
|
||||
ZCDataOpt GetDataOpt(TypeSize AI_Index) // 1부터 시작.
|
||||
{
|
||||
return DataOpt(AI_Index-1);
|
||||
}/*
|
||||
ZCDataOpt GetDataOpt(TypeSize AI_Index)*/
|
||||
|
||||
const ZCDataOpt GetDataOpt(TypeSize AI_Index) const
|
||||
{
|
||||
return DataOpt(AI_Index-1);
|
||||
}/*
|
||||
const ZCDataOpt GetDataOpt(TypeSize AI_Index) const*/
|
||||
ZCDataOpt GetDataOpt(TypeSize AI_Index) // 1부터 시작.
|
||||
{ return DataOpt(AI_Index-1); }
|
||||
ZCDataOptC GetDataOpt(TypeSize AI_Index) const
|
||||
{ return DataOpt(AI_Index-1); }
|
||||
|
||||
|
||||
ZCDataOpt DataOpt(TypeSize AI_Index) // 1부터
|
||||
{
|
||||
if(mp_HeadLink==0){return ZCDataOpt(0);}
|
||||
ZCDataOpt DataOpt(TypeSize AI_Index) // 1부터
|
||||
{ if(mp_HeadLink==0){return ZCDataOpt(0);}
|
||||
return ZCDataOpt(**HeadPtr(AI_Index-1));
|
||||
}
|
||||
ZCDataOptC DataOpt(TypeSize AI_Index) const
|
||||
{ if(mp_HeadLink==0){return ZCDataOpt(0) ;}
|
||||
return ZCDataOpt(**HeadPtr(AI_Index-1));
|
||||
}
|
||||
|
||||
return ZCDataOpt(**HeadPtr(AI_Index-1));
|
||||
}/*
|
||||
ZCDataOpt DataOpt(TypeSize AI_Index)*/
|
||||
ZCDataOpt HeadOptD(TypeSize AI_Distance=0)
|
||||
{ if(mp_HeadLink==0){return ZCDataOpt(0);}
|
||||
return ZCDataOpt(**HeadPtr(AI_Distance));
|
||||
}
|
||||
ZCDataOpt TailOptD(TypeSize AI_Distance=0)
|
||||
{ if(mp_HeadLink==0){return ZCDataOpt(0);}
|
||||
return ZCDataOpt(**TailPtr(AI_Distance));
|
||||
}
|
||||
|
||||
const ZCDataOpt DataOpt(TypeSize AI_Index) const
|
||||
{
|
||||
if(mp_HeadLink==0){return ZCDataOpt(0);}
|
||||
|
||||
return ZCDataOpt(**HeadPtr(AI_Index-1));
|
||||
}/*
|
||||
const ZCDataOpt DataOpt(TypeSize AI_Index) const*/
|
||||
ZCDataOptC HeadOptD(TypeSize AI_Distance=0) const
|
||||
{ if(mp_HeadLink==0){return ZCDataOpt(0);}
|
||||
return ZCDataOpt(**HeadPtr(AI_Distance));
|
||||
}
|
||||
ZCDataOptC TailOptD(TypeSize AI_Distance=0) const
|
||||
{ if(mp_HeadLink==0){return ZCDataOpt(0);}
|
||||
return ZCDataOpt(**TailPtr(AI_Distance));
|
||||
}
|
||||
|
||||
|
||||
ZCDataOpt HeadOptD(TypeSize AI_Distance=0)
|
||||
{
|
||||
if(mp_HeadLink==0){return ZCDataOpt(0);}
|
||||
ZCLinkOpt HeadOpt() {return ZCLinkOpt(mp_HeadLink);}
|
||||
ZCLinkOpt TailOpt() {return ZCLinkOpt(mp_TailLink);}
|
||||
|
||||
return ZCDataOpt(**HeadPtr(AI_Distance));
|
||||
}/*
|
||||
ZCDataOpt HeadOptD(TypeSize AI_Distance=0)*/
|
||||
|
||||
ZCDataOpt TailOptD(TypeSize AI_Distance=0)
|
||||
{
|
||||
if(mp_HeadLink==0){return ZCDataOpt(0);}
|
||||
|
||||
return ZCDataOpt(**TailPtr(AI_Distance));
|
||||
}/*
|
||||
ZCDataOpt TailOptD(TypeSize AI_Distance=0)*/
|
||||
ZCLinkOptC HeadOpt() const{return ZCLinkOpt(mp_HeadLink);}
|
||||
ZCLinkOptC TailOpt() const{return ZCLinkOpt(mp_TailLink);}
|
||||
|
||||
|
||||
const ZCDataOpt HeadOptD(TypeSize AI_Distance=0) const
|
||||
{
|
||||
if(mp_HeadLink==0){return ZCDataOpt(0);}
|
||||
|
||||
return ZCDataOpt(**HeadPtr(AI_Distance));
|
||||
}/*
|
||||
const ZCDataOpt HeadOptD(TypeSize AI_Distance=0) const*/
|
||||
|
||||
const ZCDataOpt TailOptD(TypeSize AI_Distance=0) const
|
||||
{
|
||||
if(mp_HeadLink==0){return ZCDataOpt(0);}
|
||||
|
||||
return ZCDataOpt(**TailPtr(AI_Distance));
|
||||
}/*
|
||||
const ZCDataOpt TailOptD(TypeSize AI_Distance=0) const*/
|
||||
|
||||
|
||||
ZCLinkOpt HeadOpt(){return ZCLinkOpt(mp_HeadLink);}
|
||||
ZCLinkOpt TailOpt(){return ZCLinkOpt(mp_TailLink);}
|
||||
|
||||
ZCLinkOpt HeadOpt(TypeSize AI_Distance)
|
||||
ZCLinkOpt HeadOpt(TypeSize AI_Distance)
|
||||
{if(mp_HeadLink==0){return ZCLinkOpt(0);} return ZCLinkOpt((*mp_HeadLink)+AI_Distance);}
|
||||
ZCLinkOpt TailOpt(TypeSize AI_Distance)
|
||||
ZCLinkOpt TailOpt(TypeSize AI_Distance)
|
||||
{if(mp_TailLink==0){return ZCLinkOpt(0);} return ZCLinkOpt((*mp_TailLink)-AI_Distance);}
|
||||
|
||||
const ZCLinkOpt HeadOpt() const{return ZCLinkOpt(mp_HeadLink);}
|
||||
const ZCLinkOpt TailOpt() const{return ZCLinkOpt(mp_TailLink);}
|
||||
|
||||
const ZCLinkOpt HeadOpt(TypeSize AI_Distance) const
|
||||
ZCLinkOptC HeadOpt(TypeSize AI_Distance) const
|
||||
{if(mp_HeadLink==0){return ZCLinkOpt(0);} return ZCLinkOpt((*mp_HeadLink)+AI_Distance);}
|
||||
const ZCLinkOpt TailOpt(TypeSize AI_Distance) const
|
||||
ZCLinkOptC TailOpt(TypeSize AI_Distance) const
|
||||
{if(mp_TailLink==0){return ZCLinkOpt(0);} return ZCLinkOpt((*mp_TailLink)-AI_Distance);}
|
||||
|
||||
|
||||
ZCLink& _1(){return HeadRef();}
|
||||
ZCLink& _0(){return TailRef();}
|
||||
ZCLink & _1() {return HeadRef();}
|
||||
ZCLink & _0() {return TailRef();}
|
||||
|
||||
ZCLink& _1(TypeSize AI_Distance){return HeadRef(AI_Distance);}
|
||||
ZCLink& _0(TypeSize AI_Distance){return TailRef(AI_Distance);}
|
||||
ZCLinkC& _1() const{return HeadRef();}
|
||||
ZCLinkC& _0() const{return TailRef();}
|
||||
|
||||
const ZCLink& _1() const{return HeadRef();}
|
||||
const ZCLink& _0() const{return TailRef();}
|
||||
ZCLink & _1(TypeSize AI_Distance) {return HeadRef(AI_Distance);}
|
||||
ZCLink & _0(TypeSize AI_Distance) {return TailRef(AI_Distance);}
|
||||
|
||||
const ZCLink& _1(TypeSize AI_Distance) const{return HeadRef(AI_Distance);}
|
||||
const ZCLink& _0(TypeSize AI_Distance) const{return TailRef(AI_Distance);}
|
||||
ZCLinkC& _1(TypeSize AI_Distance) const{return HeadRef(AI_Distance);}
|
||||
ZCLinkC& _0(TypeSize AI_Distance) const{return TailRef(AI_Distance);}
|
||||
|
||||
|
||||
/***/ ZCLinkOpt GetLinkOpt(TypeSize AI_Index)
|
||||
ZCLinkOpt GetLinkOpt(TypeSize AI_Index)
|
||||
{ if(mp_HeadLink==0) return ZCLinkOpt(0); return ZCLinkOpt(GetLinkPtr(AI_Index)); }
|
||||
const ZCLinkOpt GetLinkOpt(TypeSize AI_Index) const
|
||||
ZCLinkOptC GetLinkOpt(TypeSize AI_Index) const
|
||||
{ if(mp_HeadLink==0) return ZCLinkOpt(0); return ZCLinkOpt(GetLinkPtr(AI_Index)); }
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user