commit 2025-10-15 14:13 TypeDataMaIN => TypeDataCore : ZCppMain/ZtCLinkList.H
This commit is contained in:
@ -1006,16 +1006,16 @@ namespace ZNsMain
|
|||||||
|
|
||||||
typedef typename ZCTypeNowCRTP::TypeData TypeChild;
|
typedef typename ZCTypeNowCRTP::TypeData TypeChild;
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
typedef typename TCLink::TypeData TypeDataMain ;
|
typedef typename TCLink::TypeData TypeDataCore ;
|
||||||
typedef const TypeDataMain TypeDataMainC;
|
typedef const TypeDataCore TypeDataCoreC;
|
||||||
/*/////////////////////////////////////////////////////////////////////////
|
/*/////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
■ TCLink::TypeData (TypeDataMain)
|
■ TCLink::TypeData (TypeDataCore)
|
||||||
|
|
||||||
TCLink 에 상속 클래스 자료형이 지정되어 있다면 그 상속 클래스.
|
TCLink 에 상속 클래스 자료형이 지정되어 있다면 그 상속 클래스.
|
||||||
TCLink 에 기반 클래스 자료형만 지정되어 있다면 그 기반 클래스.
|
TCLink 에 기반 클래스 자료형만 지정되어 있다면 그 기반 클래스.
|
||||||
|
|
||||||
ItD() 에서 TypeDataMain 을 사용한다. -- 2025-10-15 13:16
|
ItD() 에서 TypeDataCore 을 사용한다. -- 2025-10-15 13:16
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////*/
|
/////////////////////////////////////////////////////////////////////////*/
|
||||||
public :
|
public :
|
||||||
@ -1046,8 +1046,22 @@ namespace ZNsMain
|
|||||||
typedef TypeIterN iteratorN ;
|
typedef TypeIterN iteratorN ;
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
|
|
||||||
public :
|
/*************************************************************************/
|
||||||
typedef typename TCLink::TypeMain TypeMain;
|
typedef typename TCLink::TypeMain TypeMain;
|
||||||
|
/**************************************************************************
|
||||||
|
|
||||||
|
ZNsIFaceEx::ZtCLink 는 TypeMain 이라는 자료형을 갖는데, ZtCLink 이
|
||||||
|
|
||||||
|
상속 클래스가 있다면, 그 상속 클래스
|
||||||
|
상속 클래스가 없다면, 클래스 자기 자신
|
||||||
|
|
||||||
|
를 나타낸다. 그래서 ZtCLinkList 에서 new 로 객체를 만들 때,
|
||||||
|
|
||||||
|
ZtCLink* my = new TypeMain;
|
||||||
|
|
||||||
|
처럼 쓸 수 있게 한다. -- 2025-10-07 17:49
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////*/
|
||||||
private:
|
private:
|
||||||
ZCLink* mp_HeadLink;
|
ZCLink* mp_HeadLink;
|
||||||
ZCLink* mp_TailLink;
|
ZCLink* mp_TailLink;
|
||||||
@ -2788,7 +2802,7 @@ namespace ZNsMain
|
|||||||
IterEasyIDc ItTIDc () const{return GetTailIterEasyIDc();}
|
IterEasyIDc ItTIDc () const{return GetTailIterEasyIDc();}
|
||||||
|
|
||||||
|
|
||||||
void ItNext(TypeLink* & APR_CLink ) const
|
void ItNext(TypeLink * & APR_CLink ) const
|
||||||
{ APR_CLink=APR_CLink->GetNextPtr(); }
|
{ APR_CLink=APR_CLink->GetNextPtr(); }
|
||||||
void ItNext(IterEasyID & ARRI_IterEasyID ) const
|
void ItNext(IterEasyID & ARRI_IterEasyID ) const
|
||||||
{ ItNext((ZCLink*&)(ARRI_IterEasyID)); }
|
{ ItNext((ZCLink*&)(ARRI_IterEasyID)); }
|
||||||
@ -2799,7 +2813,7 @@ namespace ZNsMain
|
|||||||
void ItNext(iterator & ARR_Iterator ) const{++ARR_Iterator;}
|
void ItNext(iterator & ARR_Iterator ) const{++ARR_Iterator;}
|
||||||
void ItNext(iteratorN & ARR_Iterator ) const{++ARR_Iterator;}
|
void ItNext(iteratorN & ARR_Iterator ) const{++ARR_Iterator;}
|
||||||
|
|
||||||
void ItPrev(ZCLink* & APR_CLink ) const
|
void ItPrev(TypeLink * & APR_CLink ) const
|
||||||
{ APR_CLink=APR_CLink->GetPrevPtr(); }
|
{ APR_CLink=APR_CLink->GetPrevPtr(); }
|
||||||
void ItPrev(IterEasyID & ARRI_IterEasyID ) const
|
void ItPrev(IterEasyID & ARRI_IterEasyID ) const
|
||||||
{ ItPrev((ZCLink*&)(ARRI_IterEasyID)); }
|
{ ItPrev((ZCLink*&)(ARRI_IterEasyID)); }
|
||||||
@ -2811,21 +2825,21 @@ namespace ZNsMain
|
|||||||
void ItPrev(iteratorN & ARR_Iterator ) const{--ARR_Iterator;}
|
void ItPrev(iteratorN & ARR_Iterator ) const{--ARR_Iterator;}
|
||||||
|
|
||||||
|
|
||||||
TypeDataMain & ItD(TypeLink * AP_Link ) {return **AP_Link;}
|
TypeDataCore & ItD(TypeLink * AP_Link ) {return **AP_Link;}
|
||||||
TypeDataMain & ItD(IterEasyID AH_IterEasyID ) {return **(TypeLink *)(AH_IterEasyID);}
|
TypeDataCore & ItD(IterEasyID AH_IterEasyID ) {return **(TypeLink *)(AH_IterEasyID);}
|
||||||
TypeDataMain & ItD(iterator & ARR_Iterator ) {return **ARR_Iterator;}
|
TypeDataCore & ItD(iterator & ARR_Iterator ) {return **ARR_Iterator;}
|
||||||
|
|
||||||
TypeDataMainC& ItD(TypeLinkC * AP_Link ) const{return **AP_Link;}
|
TypeDataCoreC& ItD(TypeLinkC * AP_Link ) const{return **AP_Link;}
|
||||||
TypeDataMainC& ItD(IterEasyIDc AH_IterEasyID ) const{return **(TypeLinkC*)(AH_IterEasyID);}
|
TypeDataCoreC& ItD(IterEasyIDc AH_IterEasyID ) const{return **(TypeLinkC*)(AH_IterEasyID);}
|
||||||
TypeDataMainC& ItD(iteratorN & ARR_Iterator ) const{return **ARR_Iterator;}
|
TypeDataCoreC& ItD(iteratorN & ARR_Iterator ) const{return **ARR_Iterator;}
|
||||||
|
|
||||||
TypeDataMain & ItD(TypeLink * AP_Link , TypeSize AI_FarNum) {return *((*AP_Link)+AI_FarNum);}
|
TypeDataCore & ItD(TypeLink * AP_Link , TypeSize AI_FarNum) {return *((*AP_Link)+AI_FarNum);}
|
||||||
TypeDataMain & ItD(IterEasyID AH_IterEasyID, TypeSize AI_FarNum) {return *(((TypeLink *)(AH_IterEasyID))+AI_FarNum);}
|
TypeDataCore & ItD(IterEasyID AH_IterEasyID, TypeSize AI_FarNum) {return *(((TypeLink *)(AH_IterEasyID))+AI_FarNum);}
|
||||||
TypeDataMain & ItD(iterator & ARR_Iterator , TypeSize AI_FarNum) {return *(ARR_Iterator.GetNode()+AI_FarNum);}
|
TypeDataCore & ItD(iterator & ARR_Iterator , TypeSize AI_FarNum) {return *(ARR_Iterator.GetNode()+AI_FarNum);}
|
||||||
|
|
||||||
TypeDataMainC& ItD(TypeLinkC * AP_Link , TypeSize AI_FarNum) const{return *((*AP_Link)+AI_FarNum);}
|
TypeDataCoreC& ItD(TypeLinkC * AP_Link , TypeSize AI_FarNum) const{return *((*AP_Link)+AI_FarNum);}
|
||||||
TypeDataMainC& ItD(IterEasyIDc AH_IterEasyID, TypeSize AI_FarNum) const{return *(((TypeLinkC*)(AH_IterEasyID))+AI_FarNum);}
|
TypeDataCoreC& ItD(IterEasyIDc AH_IterEasyID, TypeSize AI_FarNum) const{return *(((TypeLinkC*)(AH_IterEasyID))+AI_FarNum);}
|
||||||
TypeDataMainC& ItD(iteratorN & ARR_Iterator , TypeSize AI_FarNum) const{return *(ARR_Iterator.GetNode()+AI_FarNum);}
|
TypeDataCoreC& ItD(iteratorN & ARR_Iterator , TypeSize AI_FarNum) const{return *(ARR_Iterator.GetNode()+AI_FarNum);}
|
||||||
|
|
||||||
|
|
||||||
public :
|
public :
|
||||||
|
Reference in New Issue
Block a user