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