commit 2025-09-28 10:10 template parameter TTypeCRTP in ZtCBaseList : ZCppMain/ZMainHead.H

This commit is contained in:
2025-09-28 10:10:58 +09:00
parent 6c4c4a86e1
commit cf415becc0
4 changed files with 297 additions and 170 deletions

View File

@ -841,7 +841,7 @@ namespace ZNsMain
}/*
inline static void JoinLink(ZCLink* AP_PrevLink, ZCLink* AP_NextLink)*/
inline static void MakeCircle(ZCLink* AP_HeadLink, ZCLink* AP_TailLink)
inline static void MakeRing(ZCLink* AP_HeadLink, ZCLink* AP_TailLink)
{
// 처음과 끝 링크를 연결하여 원형상태로 만든다.
// 이것은 ZtCSimList class template 과 멤버 함수를 맞추기 위한 것으로
@ -849,7 +849,7 @@ namespace ZNsMain
AP_TailLink->mp_NextLink = AP_HeadLink;
}/*
inline static void MakeCircle(ZCLink* AP_HeadLink, ZCLink* AP_TailLink)*/
inline static void MakeRing(ZCLink* AP_HeadLink, ZCLink* AP_TailLink)*/
//private:
public :
@ -1041,7 +1041,7 @@ namespace ZNsMain
);
//////////////////////////////
ZCLink::MakeCircle(VP_HeadLink, VP_TailLink);
ZCLink::MakeRing(VP_HeadLink, VP_TailLink);
ARR_StoreList.mp_HeadLink= VP_HeadLink ;
ARR_StoreList.mp_TailLink= VP_TailLink ;
@ -1072,9 +1072,9 @@ namespace ZNsMain
}
else
{
mp_HeadLink= mp_HeadLink->mp_NextLink;
mp_HeadLink = mp_HeadLink->mp_NextLink ;
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
ZCLink::MakeRing(mp_HeadLink, mp_TailLink);
}
//else
}
@ -1082,7 +1082,7 @@ namespace ZNsMain
{
mp_TailLink= AP_PrevLink;
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
ZCLink::MakeRing(mp_HeadLink, mp_TailLink);
}
else
{
@ -1106,9 +1106,9 @@ namespace ZNsMain
}
else
{
mp_HeadLink=mp_HeadLink->mp_NextLink;
mp_HeadLink = mp_HeadLink->mp_NextLink ;
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
ZCLink::MakeRing(mp_HeadLink, mp_TailLink);
}
//else
}
@ -1116,7 +1116,7 @@ namespace ZNsMain
{
mp_TailLink= AP_PrevLink;
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
ZCLink::MakeRing(mp_HeadLink, mp_TailLink);
}
else
{
@ -1153,16 +1153,16 @@ namespace ZNsMain
}
else
{
mp_HeadLink=AP_CutTail->mp_NextLink;
mp_HeadLink = AP_CutTail->mp_NextLink ;
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
ZCLink::MakeRing(mp_HeadLink, mp_TailLink);
}
}
else if(AP_CutTail==mp_TailLink) // 잘라내려는 링크가 끝 링크를 포함할 때.
{
mp_TailLink= AP_CutHeadPrev ;
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
ZCLink::MakeRing(mp_HeadLink, mp_TailLink);
}
else // 잘라내려는 링크가 처음과 끝 링크를 포함하지 않을 때.
{
@ -1215,7 +1215,7 @@ namespace ZNsMain
GetCFreeHeap().SendFreeOut
(AL_DefaultSize, RR(VP_HeadLink), RR(VP_TailLink));
ZCLink::MakeCircle( VP_HeadLink, VP_TailLink );
ZCLink::MakeRing(VP_HeadLink, VP_TailLink);
ARR_StoreList.mp_HeadLink= VP_HeadLink ;
ARR_StoreList.mp_TailLink= VP_TailLink ;
@ -1373,7 +1373,7 @@ namespace ZNsMain
}/*
else*/
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
ZCLink::MakeRing(mp_HeadLink, mp_TailLink);
}/*
void AddHead(TypeArg AR_Type)*/
@ -1392,7 +1392,7 @@ namespace ZNsMain
mp_HeadLink = VP_AddLink ;
}
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
ZCLink::MakeRing(mp_HeadLink, mp_TailLink);
}/*
ZCLink* AddHeadDefault()*/
@ -1423,7 +1423,7 @@ namespace ZNsMain
}/*
else*/
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
ZCLink::MakeRing(mp_HeadLink, mp_TailLink);
}/*
void AddTail(TypeArg AR_Type)*/
@ -1442,7 +1442,7 @@ namespace ZNsMain
mp_TailLink = VP_AddLink ;
}
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
ZCLink::MakeRing(mp_HeadLink, mp_TailLink);
}/*
ZCLink* AddTailDefault()*/
@ -1671,7 +1671,7 @@ namespace ZNsMain
mp_HeadLink = AP_Link ;
}
++ml_Size; ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
++ml_Size; ZCLink::MakeRing(mp_HeadLink, mp_TailLink);
}/*
void JoinHead(ZCLink* AP_Link)*/
@ -1711,7 +1711,7 @@ namespace ZNsMain
}/*
else*/
++ml_Size; ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
++ml_Size; ZCLink::MakeRing(mp_HeadLink, mp_TailLink);
}/*
void JoinTail(ZCLink* AP_Link)*/
@ -1734,7 +1734,7 @@ namespace ZNsMain
mp_HeadLink= rhs.mp_HeadLink ;
ml_Size += rhs.ml_Size ;
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
ZCLink::MakeRing(mp_HeadLink, mp_TailLink);
}/*
else*/
@ -1763,7 +1763,7 @@ namespace ZNsMain
ml_Size += rhs.ml_Size;
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
ZCLink::MakeRing(mp_HeadLink, mp_TailLink);
}/*
else*/
@ -1789,7 +1789,7 @@ namespace ZNsMain
}/*
if(--ml_Size==0)*/
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
ZCLink::MakeRing(mp_HeadLink, mp_TailLink);
}/*
void DeleteHead()*/
@ -1836,7 +1836,7 @@ namespace ZNsMain
GetCFreeHeap().RecvFreeIn(VP_CutLink);
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
ZCLink::MakeRing(mp_HeadLink, mp_TailLink);
}/*
void DeleteTail()*/
@ -1867,7 +1867,7 @@ namespace ZNsMain
mp_TailLink = VP_NewTail ;
ml_Size -= AL_DelSize ;
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
ZCLink::MakeRing(mp_HeadLink, mp_TailLink);
}/*
void DeleteTail(TTypSize AL_DelSize)*/