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

@ -1023,13 +1023,23 @@ namespace ZNsMain
/////////////////////////////////////////////////////////////////////////////////////////*/
/*#########################################################################################
■ 2번 template parameter 가 bool TTypebUseCRTP 인데, 만약 TTypeChild 가 유효한 자료형이라
면, TTypebUseCRTP 이 true 인 것이 맞겠으나, DEBUG 등의 특수한 용도로 TTypebUseCRTP 을
false 로 설정할 수 있게 한 것이다.
-- 2025-09-28 08:41
#########################################################################################*/
template< typename TTypeChild=ZCEmpty, bool TTypebUseCRTP =false
>
class ZtCTypeCRTP ////////////////////////////////////////////////
{
public:
typedef TTypeChild TypeData;
typedef TTypeChild TypeHigh;
public:
enum{ZEUseCRTP=(ZTypIntE)TTypebUseCRTP};
public:
@ -1039,6 +1049,17 @@ namespace ZNsMain
class ZtCTypeCRTP //////////////////////////////////////////////*/
#if(_CODE_OLD_)
/*#########################################################################################
■ ZtCTypeCRTP2 이 필요한 곳에 ZtCTypeNowCRTP 을 사용하자. -- 2025-09-28 09:25
ZtCBaseList 에서 ZtCTypeCRTP 와 ZtCTypeNowCRTP 을 사용하고 있다.
#########################################################################################*/
template< typename TTypeChild = ZCEmpty , ////////////////////
typename TTypeBase = ZCEmpty ,
bool TTypebUseCRTP= false
@ -1047,7 +1068,6 @@ namespace ZNsMain
{
public:
typedef TTypeChild TypeData;
typedef TTypeChild TypeHigh;
typedef TTypeBase TypeBase;
public:
enum{ZEUseCRTP=(ZTypIntE)TTypebUseCRTP};
@ -1059,6 +1079,8 @@ namespace ZNsMain
>
class ZtCTypeCRTP2 /////////////////////////////////////////////*/
#endif //_CODE_OLD_
/*//////////////////////////////////////////////////////////////////////////////////////////
@ -1067,7 +1089,7 @@ namespace ZNsMain
-- 2012-09-20 09:46:00
■ 해당 코드는 대충 이렇다.-- 2025-09-28 02:41
■ 해당 코드는 대충 이렇다. -- 2025-09-28 02:41
template< typename TWork ,
typename TWorkExec , // 작업(TWork)에 대하여 어떤 처리를 하는 클래스
@ -1148,13 +1170,69 @@ namespace ZNsMain
typedef typename TTypeCtrlAllocWork::CThreadLink CThreadLink;
typedef typename TTypeCtrlAllocWork::CTypeCRTP CTypeCRTP ;
// 이후 아래 코드로
//
// typedef typename CTypeCRTP::TypeData CCtrlAllocWorkEx;
//
// CCtrlAllocWork_T 의 상속 클래스에 접근할 수 있다.
// some code
void SetCloseMark(CWork& ARR_CWork)
{
if(CTypeCRTP::EUseCRTP>0)
{
typedef typename CTypeCRTP::TypeData CCtrlAllocWorkEx;
#if(_CODE_NEW_)
static_cast<CCtrlAllocWorkEx&>(*this). // 코드-CCtrlAllocWork::CRTP2
SetCloseMarkInChild(RR(ARR_CWork)); return;
#else
((CCtrlAllocWorkEx&)(*this)). // 코드-CCtrlAllocWork::CRTP
SetCloseMarkInChild(RR(ARR_CWork)); return;
#endif
//////////////////////////////////////////////////////////////////////////////////////////////////
■ 주석-CCtrlAllocWork::CRTP2
이전에는 상속 클래스의 SetCloseMarkInChild() 을 사용하기 위해 위의 '코드-CCtrlAllocWork::CRTP'
를 사용하였으나 약간의 안전성 상승을 위해, std::NsType::CTypeCRTP2_T<> 을 긴급히 정의하고, NsT
ype::CTypeCtrlAllocWork_T<> 의 템플릿 인수에 typename TTypeCRTP 를 추가한 다음, '코드-CCtrlAll
ocWork::CRTP2' 를 사용하게 되었다. 그래서 class CCtrlAllocWork_T<> 이
TTypeCtrlAllocWork::CTypeCRTP::TypeBase
을 상속하고 있다. 이 TypeBase 는 SetCloseMarkInChild(CWork&) 함수를 가져야 한다.
-- 2012-09-20 09:43:00
■ NsType::CTypeCRTP2_T<> 는 NsType::CTypeCRTP_T<> 에서 TypeBase 가 추가된 것이다.
-- 2012-09-20 09:57:00
//////////////////////////////////////////////////////////////////////////////////////////////////
}
CWorkExec::SetCloseMark(RR(ARR_CWork));
}
//void SetCloseMark(CWork& ARR_CWork)
// some code
}
즉 아래 코드로
typedef typename CTypeCRTP::TypeData CCtrlAllocWorkEx;
CCtrlAllocWork_T 의 상속 클래스에 접근하고 있는데, 이것은 좀 이상하다.
즉 CTypeCRTP::TypeData 은 NsIFace::ICtrlAllocWork 이기 때문이다. 예전
코드라 그런지 나쁜 냄새가 난다.
-- 2025-09-28 07-27
//////////////////////////////////////////////////////////////////////////////////////////*/
@ -5130,29 +5208,39 @@ namespace ZNsMain
// class ZtCBaseList : circular double linked list
template ///////////////////////////////////////////////
template //////////////////////////////////////////////////////////////////
<
typename TType ,
typename TTypArgu = const TType&,
typename TTypCAlloc = ZCAllocator ,
typename TTypSize = ZTypLong ,
typename TTypArgu = const TType& ,
typename TTypeAlloc = ZCAllocator ,
typename TTypSize = ZTypLong ,
typename TMoveObj = ZNsMain::
ZtCMoveObj<TType, TTypArgu, true>
ZtCMoveObj<TType, TTypArgu, true> ,
typename TTypeCRTP = ZNsType::ZtCTypeCRTP<ZCEmpty, false>
>
class ZtCBaseList /*##################################*/
class ZtCBaseList /*#####################################################*/
{
public:
class ZCLink;
public:
typedef TType TypeData ;
typedef TTypArgu TypeArg ;
typedef TTypCAlloc TypeAlloc ;
typedef TTypeAlloc TypeAlloc ;
typedef TTypSize TypeSize ;
typedef TMoveObj TypeMoveObj ;
typedef ZCLink* IterEasy ; // 가장 대표적으로 쓰일 수 있는 반복자.
typedef ZCLink* iterator ;
public:
typedef ZNsType::ZtCTypeNowCRTP ///////////////////
<
ZtCBaseList, typename TTypeCRTP::TypeData
>
ZCTypeNowCRTP ; ///////////////////////////////////
typedef typename ZCTypeNowCRTP::TypeData TypeChild;
public :
class ZCLink : public TypeAlloc
{
@ -5163,11 +5251,27 @@ namespace ZNsMain
ZCLink* mp_NextLink ;
ZCLink* mp_PrevLink ;
private:
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
ZCLink* GetNextPtr() {return mp_NextLink;}
ZCLink* GetPrevPtr() {return mp_PrevLink;}
const ZCLink* GetNextPtr()const{return mp_NextLink;}
const ZCLink* GetPrevPtr()const{return mp_PrevLink;}
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
private:
ZCLink* GetNextPtr() {return mp_NextLink;}
ZCLink* GetPrevPtr() {return mp_PrevLink;}
const ZCLink* GetNextPtr()const{return mp_NextLink;}
const ZCLink* GetPrevPtr()const{return mp_PrevLink;}
static void JoinLink(ZCLink* AP_PrevLink, ZCLink* AP_NextLink)
{
AP_PrevLink->mp_NextLink=AP_NextLink;
AP_NextLink->mp_PrevLink=AP_PrevLink;
}/*
static void JoinLink(ZCLink* AP_PrevLink, ZCLink* AP_NextLink)*/
static void MakeRing(ZCLink* AP_HeadLink, ZCLink* AP_TailLink)
{
AP_HeadLink->mp_PrevLink=AP_TailLink;
AP_TailLink->mp_NextLink=AP_HeadLink;
}/*
static void MakeRing(ZCLink* AP_HeadLink, ZCLink* AP_TailLink)*/
public:
@ -5244,6 +5348,35 @@ namespace ZNsMain
TypeSize ml_LinkCnt ;
private :
ZCLink* NewLink()
{
if(TTypeCRTP::ZEUseCRTP<1) return new ZCLink;
return (*static_cast<TypeChild*>(this)).NewLink();
}/*
ZCLink* NewLink()*/
ZCLink* NewLink(TypeArg AO_ArgData)
{
if(TTypeCRTP::ZEUseCRTP<1)
{ return new ZCLink(AO_ArgData); }
return (*static_cast<TypeChild*>(this)).NewLink(AO_ArgData);
}/*
ZCLink* NewLink(TypeArg AO_ArgData)*/
void DelLink(ZCLink* AP_DelLink)
{
if(TTypeCRTP::ZEUseCRTP<1)
{ delete AP_DelLink; return; }
return (*static_cast<TypeChild*>(this)).DelLink(AP_DelLink);
}/*
void DelLink(ZCLink* AP_DelLink)*/
/*private :*/
private :
ZCLink* AddTailLink(ZCLink* AP_NewLink)
{
if(ml_LinkCnt<1)
@ -5251,22 +5384,19 @@ namespace ZNsMain
mp_HeadLink = AP_NewLink;
mp_TailLink = AP_NewLink;
mp_HeadLink->mp_NextLink = mp_HeadLink ;
mp_HeadLink->mp_PrevLink = mp_HeadLink ;
ZCLink::MakeRing
( mp_HeadLink, mp_TailLink ) ;
ml_LinkCnt= 1; return AP_NewLink;
}/*
if(ml_LinkCnt<1)*/
mp_TailLink->mp_NextLink = AP_NewLink ;
AP_NewLink ->mp_PrevLink = mp_TailLink ;
ZCLink::JoinLink(mp_TailLink, AP_NewLink) ;
ZCLink::MakeRing(mp_HeadLink, AP_NewLink) ;
AP_NewLink ->mp_NextLink = mp_HeadLink ;
mp_HeadLink->mp_PrevLink = AP_NewLink ;
mp_TailLink = AP_NewLink; ++ml_LinkCnt ;
mp_TailLink = AP_NewLink; ++ml_LinkCnt;
return AP_NewLink; /*:::::::::::::::::*/
return AP_NewLink; /*::::::::::::::::::::*/
}/*
ZCLink* AddTailLink(ZCLink* AP_CLink)*/
@ -5277,26 +5407,24 @@ namespace ZNsMain
mp_HeadLink = AP_NewLink;
mp_TailLink = AP_NewLink;
mp_HeadLink->mp_NextLink = mp_HeadLink ;
mp_HeadLink->mp_PrevLink = mp_HeadLink ;
ZCLink::MakeRing
( mp_HeadLink, mp_TailLink ) ;
ml_LinkCnt= 1; return AP_NewLink;
}/*
if(ml_LinkCnt<1)*/
AP_NewLink ->mp_NextLink = mp_HeadLink ;
mp_HeadLink->mp_PrevLink = AP_NewLink ;
ZCLink::JoinLink(AP_NewLink, mp_HeadLink) ;
ZCLink::MakeRing(AP_NewLink, mp_TailLink) ;
AP_NewLink ->mp_PrevLink = mp_TailLink ;
mp_TailLink->mp_NextLink = AP_NewLink ;
mp_HeadLink = AP_NewLink; ++ml_LinkCnt ;
mp_HeadLink = AP_NewLink; ++ml_LinkCnt;
return AP_NewLink; /*:::::::::::::::::*/
return AP_NewLink; /*::::::::::::::::::::*/
}/*
ZCLink* AddHeadLink(ZCLink* AP_CLink)
ZCLink* AddHeadLink(ZCLink* AP_CLink)*/
private :*/
/*private :*/
public :
ZtCBaseList()
@ -5350,7 +5478,7 @@ namespace ZNsMain
ZCLink* VP_NextLink =
VP_NowLink->mp_NextLink ;
delete VP_NowLink;
DelLink(VP_NowLink);
VP_NowLink = VP_NextLink;
}/*
@ -5364,9 +5492,9 @@ namespace ZNsMain
TypeData& AddHead()
{ return AddHeadLink(new ZCLink)->mo_Data; }
{ return AddHeadLink(NewLink())->mo_Data; }
TypeData& AddTail()
{ return AddTailLink(new ZCLink)->mo_Data; }
{ return AddTailLink(NewLink())->mo_Data; }
TypeData& AddHead(TypeArg AO_ArgData) /*########################*/
@ -5374,7 +5502,7 @@ namespace ZNsMain
#if(_CODE_NEW_)
if(TypeMoveObj::ZEUseMoveObj>0) ////////////////////
{
ZCLink* VP_NewNode = new ZCLink(AO_ArgData);
ZCLink* VP_NewNode = NewLink(AO_ArgData);
TypeMoveObj::Exec(VP_NewNode->mo_Data, AO_ArgData);
@ -5391,7 +5519,7 @@ namespace ZNsMain
#if(_CODE_NEW_)
if(TypeMoveObj::ZEUseMoveObj>0) ////////////////////
{
ZCLink* VP_NewNode = new ZCLink(AO_ArgData);
ZCLink* VP_NewNode = NewLink(AO_ArgData);
TypeMoveObj::Exec(VP_NewNode->mo_Data, AO_ArgData);
@ -5411,7 +5539,7 @@ namespace ZNsMain
ZCLink* VP_TempLink = mp_HeadLink ;
mp_HeadLink = mp_HeadLink->mp_NextLink ;
delete VP_TempLink;
DelLink(VP_TempLink);
if(--ml_LinkCnt<1)
{
@ -5419,8 +5547,7 @@ namespace ZNsMain
}/*
if(--ml_LinkCnt<1)*/
mp_HeadLink->mp_PrevLink = mp_TailLink ;
mp_TailLink->mp_NextLink = mp_HeadLink ;
ZCLink::MakeRing(mp_HeadLink, mp_TailLink);
}/*
void DeleteHead()*/
@ -5432,7 +5559,7 @@ namespace ZNsMain
ZCLink* VP_TempLink = mp_TailLink ;
mp_TailLink = mp_TailLink->mp_PrevLink ;
delete VP_TempLink;
DelLink(VP_TempLink);
if(--ml_LinkCnt<1)
{
@ -5440,8 +5567,7 @@ namespace ZNsMain
}/*
if(--ml_LinkCnt<1)*/
mp_HeadLink->mp_PrevLink = mp_TailLink ;
mp_TailLink->mp_NextLink = mp_HeadLink ;
ZCLink::MakeRing(mp_HeadLink, mp_TailLink);
}/*
void DeleteTail()*/
@ -5666,16 +5792,17 @@ namespace ZNsMain
public :
};/*
template ///////////////////////////////////////////////
template //////////////////////////////////////////////////////////////////
<
typename TType ,
typename TTypArgu = const TType&,
typename TTypCAlloc = ZCAllocator ,
typename TTypSize = ZTypLong ,
typename TTypArgu = const TType& ,
typename TTypeAlloc = ZCAllocator ,
typename TTypSize = ZTypLong ,
typename TMoveObj = ZNsMain::
ZtCMoveObj<TType, TTypArgu, true>
ZtCMoveObj<TType, TTypArgu, true> ,
typename TTypeCRTP = ZNsType::ZtCTypeCRTP<ZCEmpty, false>
>
class ZtCBaseList /*##################################*/
class ZtCBaseList #######################################################*/

View File

@ -858,12 +858,12 @@ namespace ZNsMain
}/*
static void JoinLink(ZCLink* AP_PrevLink, ZCLink* AP_NextLink)*/
static void MakeCircle(ZCLink* AP_HeadLink, ZCLink* AP_TailLink)
static void MakeRing(ZCLink* AP_HeadLink, ZCLink* AP_TailLink)
{
AP_HeadLink->mp_PrevLink=AP_TailLink;
AP_TailLink->mp_NextLink=AP_HeadLink;
}/*
static void MakeCircle(ZCLink* AP_HeadLink, ZCLink* AP_TailLink)*/
static void MakeRing(ZCLink* AP_HeadLink, ZCLink* AP_TailLink)*/
/*private:*/
public :
@ -1089,8 +1089,8 @@ namespace ZNsMain
{
ZCLink* VP_TailLink = AO_CObjList.mp_HeadLink->mp_PrevLink;
ZCLink::MakeCircle(AO_CObjList.mp_HeadLink, mp_HeadLink->mp_PrevLink);
ZCLink::JoinLink (VP_TailLink , mp_HeadLink );
ZCLink::MakeRing(AO_CObjList.mp_HeadLink, mp_HeadLink->mp_PrevLink);
ZCLink::JoinLink(VP_TailLink , mp_HeadLink );
mp_HeadLink = AO_CObjList.mp_HeadLink;
ml_Size += AO_CObjList.ml_Size ;
@ -1123,7 +1123,7 @@ namespace ZNsMain
mp_HeadLink=0;
else
{
ZCLink::MakeCircle //////////////////////////
ZCLink::MakeRing ////////////////////////////
(
mp_HeadLink=mp_HeadLink->mp_NextLink,
AP_CutLink->mp_PrevLink
@ -1133,8 +1133,8 @@ namespace ZNsMain
else*/
}
else if(AP_CutLink==mp_HeadLink->mp_PrevLink)
ZCLink::MakeCircle(mp_HeadLink , AP_CutLink->mp_PrevLink);
else ZCLink::JoinLink (AP_CutLink->mp_PrevLink, AP_CutLink->mp_NextLink);
ZCLink::MakeRing(mp_HeadLink , AP_CutLink->mp_PrevLink);
else ZCLink::JoinLink(AP_CutLink->mp_PrevLink, AP_CutLink->mp_NextLink);
return (--ml_Size, AP_CutLink);
}/*
@ -1149,18 +1149,18 @@ namespace ZNsMain
mp_HeadLink=0;
else
{
ZCLink::MakeCircle
ZCLink::MakeRing
(
mp_HeadLink=mp_HeadLink->mp_NextLink,
AP_CutLink->mp_PrevLink
);
//////////////////
////////////////
}/*
else*/
}
else if(AL_CutPos==ml_Size) // 끝 링크를 삭제할 때
ZCLink::MakeCircle(mp_HeadLink , AP_CutLink->mp_PrevLink);
else ZCLink::JoinLink (AP_CutLink->mp_PrevLink, AP_CutLink->mp_NextLink);
ZCLink::MakeRing(mp_HeadLink , AP_CutLink->mp_PrevLink);
else ZCLink::JoinLink(AP_CutLink->mp_PrevLink, AP_CutLink->mp_NextLink);
return (--ml_Size, AP_CutLink);
}/*
@ -1202,11 +1202,11 @@ namespace ZNsMain
}
else if(AL_CutHeadPos==1) // 잘라내려는 링크가 처음 링크를 포함할 때.
{
ZCLink::MakeCircle(mp_HeadLink=AP_CutTail->mp_NextLink, AP_CutHead->mp_PrevLink);
ZCLink::MakeRing(mp_HeadLink=AP_CutTail->mp_NextLink, AP_CutHead->mp_PrevLink);
}
else if(AL_CutTailPos==ml_Size) // 잘라내려는 링크가 끝 링크를 포함할 때.
{
ZCLink::MakeCircle(mp_HeadLink, AP_CutHead->mp_PrevLink);
ZCLink::MakeRing(mp_HeadLink, AP_CutHead->mp_PrevLink);
}
else // 잘라내려는 링크가 처음과 끝 링크를 포함하지 않을 때.
{
@ -1219,7 +1219,7 @@ namespace ZNsMain
// AP_CutHead 과 AP_CutTail 을 연결하여
// 이중 원형 연결리스트가 되도록 한다.
ZCLink::MakeCircle(AP_CutHead, AP_CutTail);
ZCLink::MakeRing(AP_CutHead, AP_CutTail);
#ifdef _DEBUG
@ -1297,7 +1297,7 @@ namespace ZNsMain
);
/////////////////////////////////////////////
ZCLink::MakeCircle(VP_HeadLink, VP_TailLink);
ZCLink::MakeRing(VP_HeadLink, VP_TailLink);
ARR_StoreList.mp_HeadLink=VP_HeadLink;
ARR_StoreList.ml_Size =(AL_FarNum<0 ? -AL_FarNum : AL_FarNum)+1 ;
@ -1330,10 +1330,10 @@ namespace ZNsMain
GetManyLink
(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.ml_Size =AL_DefaultSize;
ARR_StoreList.mp_HeadLink= VP_HeadLink ;
ARR_StoreList.ml_Size = AL_DefaultSize ;
return ARR_StoreList;
}/*
@ -2110,11 +2110,11 @@ namespace ZNsMain
}
else if(AL_CutHeadPos==1) // 잘라내려는 링크가 처음 링크를 포함할 때.
{
ZCLink::MakeCircle(mp_HeadLink=AP_CutTail->mp_NextLink, AP_CutHead->mp_PrevLink);
ZCLink::MakeRing(mp_HeadLink=AP_CutTail->mp_NextLink, AP_CutHead->mp_PrevLink);
}
else if(AL_CutTailPos==ml_Size) // 잘라내려는 링크가 끝 링크를 포함할 때.
{
ZCLink::MakeCircle(mp_HeadLink, AP_CutHead->mp_PrevLink);
ZCLink::MakeRing(mp_HeadLink, AP_CutHead->mp_PrevLink);
}
else // 잘라내려는 링크가 처음과 끝 링크를 포함하지 않을 때.
{
@ -2133,15 +2133,15 @@ namespace ZNsMain
{
// AP_CutHead 과 AP_CutTail 을 연결하여 이중 원형 연결리스트가 되도록 한다.
ZCLink::MakeCircle(AP_CutHead, AP_CutTail);
ZCLink::MakeRing(AP_CutHead, AP_CutTail);
ARR_StoreList.mp_HeadLink=AP_CutHead ;
ARR_StoreList.ml_Size =AL_CutTailPos-AL_CutHeadPos+1;
}
else
{
ZCLink::JoinLink (ARR_StoreList.mp_HeadLink->mp_PrevLink, AP_CutHead);
ZCLink::MakeCircle(ARR_StoreList.mp_HeadLink , AP_CutTail);
ZCLink::JoinLink(ARR_StoreList.mp_HeadLink->mp_PrevLink, AP_CutHead);
ZCLink::MakeRing(ARR_StoreList.mp_HeadLink , AP_CutTail);
ARR_StoreList.ml_Size += AL_CutTailPos-AL_CutHeadPos+1 ;
}/*
@ -3230,12 +3230,12 @@ namespace ZNsMain
}/*
static void JoinLink(ZCLinkUnit* lhs, ZCLinkUnit* rhs)*/
static void MakeCircle(ZCLinkUnit* AP_HeadUnit, ZCLinkUnit* AP_TailUnit)
static void MakeRing(ZCLinkUnit* AP_HeadUnit, ZCLinkUnit* AP_TailUnit)
{
AP_HeadUnit->mp_PrevUnit=AP_TailUnit;
AP_TailUnit->mp_NextUnit=AP_HeadUnit;
}/*
static void MakeCircle(ZCLinkUnit* AP_HeadUnit, ZCLinkUnit* AP_TailUnit)*/
static void MakeRing(ZCLinkUnit* AP_HeadUnit, ZCLinkUnit* AP_TailUnit)*/
TypeData& AddEmptyObj()
{
@ -3485,7 +3485,7 @@ namespace ZNsMain
if(--ml_CutUnitCnt<1)
mp_CutHeadUnit=0;
else
ZCLinkUnit::MakeCircle(mp_CutHeadUnit, VP_CutTailUnit);
ZCLinkUnit::MakeRing(mp_CutHeadUnit, VP_CutTailUnit);
//else
VP_CutHeadUnit->ml_UseSize=0; return VP_CutHeadUnit;
@ -3508,8 +3508,8 @@ namespace ZNsMain
{
ZCLinkUnit* VP_TailCLinkUnit= mp_NowHeadUnit->mp_PrevUnit;
ZCLinkUnit::JoinLink (VP_NewLinkUnit, mp_NowHeadUnit );
ZCLinkUnit::MakeCircle(VP_NewLinkUnit, VP_TailCLinkUnit);
ZCLinkUnit::JoinLink(VP_NewLinkUnit, mp_NowHeadUnit );
ZCLinkUnit::MakeRing(VP_NewLinkUnit, VP_TailCLinkUnit);
mp_NowHeadUnit=VP_NewLinkUnit;
}/*
@ -3535,8 +3535,8 @@ namespace ZNsMain
{
ZCLinkUnit* VP_TailCLinkUnit= mp_NowHeadUnit->mp_PrevUnit;
ZCLinkUnit::JoinLink (VP_TailCLinkUnit, VP_NewLinkUnit);
ZCLinkUnit::MakeCircle(mp_NowHeadUnit , VP_NewLinkUnit);
ZCLinkUnit::JoinLink(VP_TailCLinkUnit, VP_NewLinkUnit);
ZCLinkUnit::MakeRing(mp_NowHeadUnit , VP_NewLinkUnit);
}/*
else*/
@ -3828,14 +3828,14 @@ namespace ZNsMain
if(ml_CutUnitCnt<1)
{
ZCLinkUnit::MakeCircle(VP_UnitHead, VP_UnitTail);
ZCLinkUnit::MakeRing(VP_UnitHead, VP_UnitTail);
mp_CutHeadUnit = VP_UnitHead; ///////////////////
mp_CutHeadUnit = VP_UnitHead; /////////////////
}
else
{
ZCLinkUnit::JoinLink (mp_CutHeadUnit->mp_PrevUnit, VP_UnitHead);
ZCLinkUnit::MakeCircle(mp_CutHeadUnit , VP_UnitTail);
ZCLinkUnit::JoinLink(mp_CutHeadUnit->mp_PrevUnit, VP_UnitHead);
ZCLinkUnit::MakeRing(mp_CutHeadUnit , VP_UnitTail);
}/*
else*/
@ -3860,8 +3860,8 @@ namespace ZNsMain
{
ZCLinkUnit* VP_TailLink=mp_NowHeadUnit->mp_PrevUnit;
ZCLinkUnit::JoinLink (mp_CutHeadUnit->mp_PrevUnit, mp_NowHeadUnit);
ZCLinkUnit::MakeCircle(mp_CutHeadUnit , VP_TailLink );
ZCLinkUnit::JoinLink(mp_CutHeadUnit->mp_PrevUnit, mp_NowHeadUnit);
ZCLinkUnit::MakeRing(mp_CutHeadUnit , VP_TailLink );
}
else
mp_CutHeadUnit=mp_NowHeadUnit;
@ -3881,8 +3881,8 @@ namespace ZNsMain
if(--ml_NowUnitCnt<1)
{
ZCLinkUnit::JoinLink (mp_CutHeadUnit->mp_PrevUnit, mp_NowHeadUnit);
ZCLinkUnit::MakeCircle(mp_CutHeadUnit , mp_NowHeadUnit);
ZCLinkUnit::JoinLink(mp_CutHeadUnit->mp_PrevUnit, mp_NowHeadUnit);
ZCLinkUnit::MakeRing(mp_CutHeadUnit , mp_NowHeadUnit);
mp_NowHeadUnit=0;
ml_NowObjtCnt =0;
@ -3895,9 +3895,9 @@ namespace ZNsMain
mp_NowHeadUnit = mp_NowHeadUnit->mp_NextUnit;
ml_NowObjtCnt -= VP_HeadLink->size();
ZCLinkUnit::MakeCircle(mp_NowHeadUnit , VP_TailLink);
ZCLinkUnit::JoinLink (mp_CutHeadUnit->mp_PrevUnit, VP_HeadLink);
ZCLinkUnit::MakeCircle(mp_CutHeadUnit , VP_HeadLink);
ZCLinkUnit::MakeRing(mp_NowHeadUnit , VP_TailLink);
ZCLinkUnit::JoinLink(mp_CutHeadUnit->mp_PrevUnit, VP_HeadLink);
ZCLinkUnit::MakeRing(mp_CutHeadUnit , VP_HeadLink);
}/*
else*/
@ -3948,8 +3948,8 @@ namespace ZNsMain
{
ZCLinkUnit* VP_RhsTailUnit=rhs.mp_NowHeadUnit->mp_PrevUnit;
ZCLinkUnit::JoinLink (mp_NowHeadUnit->mp_PrevUnit, rhs.mp_NowHeadUnit);
ZCLinkUnit::MakeCircle(mp_NowHeadUnit, VP_RhsTailUnit );
ZCLinkUnit::JoinLink(mp_NowHeadUnit->mp_PrevUnit, rhs.mp_NowHeadUnit);
ZCLinkUnit::MakeRing(mp_NowHeadUnit, VP_RhsTailUnit );
}/*
else*/
@ -3969,8 +3969,8 @@ namespace ZNsMain
ZCLinkUnit* VP_RhsTailUnit=rhs.mp_NowHeadUnit->mp_PrevUnit;
ZCLinkUnit* VP_LhsTailUnit= mp_NowHeadUnit->mp_PrevUnit;
ZCLinkUnit::JoinLink (VP_RhsTailUnit , mp_NowHeadUnit);
ZCLinkUnit::MakeCircle(rhs.mp_NowHeadUnit, VP_LhsTailUnit);
ZCLinkUnit::JoinLink(VP_RhsTailUnit , mp_NowHeadUnit);
ZCLinkUnit::MakeRing(rhs.mp_NowHeadUnit, VP_LhsTailUnit);
}/*
if(ml_NowUnitCnt>=1)*/
@ -4000,19 +4000,19 @@ namespace ZNsMain
ZCLinkUnit* VP_RhsNowHead = VP_RhsNowTail->
GetObjtPtr( -(AI_FetchSize-1), RR(VI_RhsObjCnt) ) ;
ZCLinkUnit::MakeCircle(
ZCLinkUnit::MakeRing(
rhs.mp_NowHeadUnit, VP_RhsNowHead->mp_PrevUnit);
rhs.ml_NowUnitCnt -= AI_FetchSize;
rhs.ml_NowObjtCnt -= VI_RhsObjCnt;
if(ml_NowUnitCnt<1)
{
ZCLinkUnit::MakeCircle(VP_RhsNowHead, VP_RhsNowTail); mp_NowHeadUnit=VP_RhsNowHead;
ZCLinkUnit::MakeRing(VP_RhsNowHead, VP_RhsNowTail); mp_NowHeadUnit=VP_RhsNowHead;
}
else
{
ZCLinkUnit::JoinLink (mp_NowHeadUnit->mp_PrevUnit, VP_RhsNowHead);
ZCLinkUnit::MakeCircle(mp_NowHeadUnit , VP_RhsNowTail);
ZCLinkUnit::JoinLink(mp_NowHeadUnit->mp_PrevUnit, VP_RhsNowHead);
ZCLinkUnit::MakeRing(mp_NowHeadUnit , VP_RhsNowTail);
}
ml_NowUnitCnt += AI_FetchSize;
ml_NowObjtCnt += VI_RhsObjCnt;
@ -4037,25 +4037,25 @@ namespace ZNsMain
TypeSize VI_RhsObjCnt = 0 ;
ZCLinkUnit* VP_RhsNowHead= rhs.mp_NowHeadUnit ;
ZCLinkUnit* VP_RhsNowTail= VP_RhsNowHead->
GetObjtPtr( AI_FetchSize-1, RR(VI_RhsObjCnt) );
GetObjtPtr( AI_FetchSize-1, RR(VI_RhsObjCnt) ) ;
rhs.mp_NowHeadUnit = VP_RhsNowTail->mp_NextUnit ;
ZCLinkUnit::MakeCircle(
ZCLinkUnit::MakeRing(
rhs.mp_NowHeadUnit, VP_RhsNowHead->mp_PrevUnit);
rhs.ml_NowUnitCnt -= AI_FetchSize;
rhs.ml_NowObjtCnt -= VI_RhsObjCnt;
if(ml_NowUnitCnt<1)
{
ZCLinkUnit::MakeCircle(VP_RhsNowHead, VP_RhsNowTail);
ZCLinkUnit::MakeRing(VP_RhsNowHead, VP_RhsNowTail);
mp_NowHeadUnit=VP_RhsNowHead; ///////////////////////
mp_NowHeadUnit=VP_RhsNowHead; /////////////////////
}
else
{
ZCLinkUnit::JoinLink (mp_NowHeadUnit->mp_PrevUnit, VP_RhsNowHead);
ZCLinkUnit::MakeCircle(mp_NowHeadUnit , VP_RhsNowTail);
ZCLinkUnit::JoinLink(mp_NowHeadUnit->mp_PrevUnit, VP_RhsNowHead);
ZCLinkUnit::MakeRing(mp_NowHeadUnit , VP_RhsNowTail);
}
ml_NowUnitCnt += AI_FetchSize;
ml_NowObjtCnt += VI_RhsObjCnt;
@ -4076,21 +4076,21 @@ namespace ZNsMain
}
else
{
ZCLinkUnit::MakeCircle(
ZCLinkUnit::MakeRing(
rhs.mp_NowHeadUnit, VP_RhsNowTail->mp_PrevUnit);
}
rhs.ml_NowObjtCnt -= VP_RhsNowTail->ml_UseSize ;
if(++ml_NowUnitCnt<=1)
{
ZCLinkUnit::MakeCircle(VP_RhsNowTail, VP_RhsNowTail);
ZCLinkUnit::MakeRing(VP_RhsNowTail, VP_RhsNowTail);
mp_NowHeadUnit=VP_RhsNowTail; ///////////////////////
mp_NowHeadUnit=VP_RhsNowTail; /////////////////////
}
else
{
ZCLinkUnit::JoinLink (mp_NowHeadUnit->mp_PrevUnit, VP_RhsNowTail);
ZCLinkUnit::MakeCircle(mp_NowHeadUnit , VP_RhsNowTail);
ZCLinkUnit::JoinLink(mp_NowHeadUnit->mp_PrevUnit, VP_RhsNowTail);
ZCLinkUnit::MakeRing(mp_NowHeadUnit , VP_RhsNowTail);
}
ml_NowObjtCnt += VP_RhsNowTail->ml_UseSize ;
}/*
@ -4111,21 +4111,21 @@ namespace ZNsMain
}
else
{
ZCLinkUnit::MakeCircle(
ZCLinkUnit::MakeRing(
rhs.mp_NowHeadUnit, VP_RhsNowHead->mp_PrevUnit);
}
rhs.ml_NowObjtCnt -= VP_RhsNowHead->ml_UseSize ;
if(++ml_NowUnitCnt<=1)
{
ZCLinkUnit::MakeCircle(VP_RhsNowHead, VP_RhsNowHead);
ZCLinkUnit::MakeRing(VP_RhsNowHead, VP_RhsNowHead);
mp_NowHeadUnit=VP_RhsNowHead; ///////////////////////
mp_NowHeadUnit=VP_RhsNowHead; /////////////////////
}
else
{
ZCLinkUnit::JoinLink (mp_NowHeadUnit->mp_PrevUnit, VP_RhsNowHead);
ZCLinkUnit::MakeCircle(mp_NowHeadUnit , VP_RhsNowHead);
ZCLinkUnit::JoinLink(mp_NowHeadUnit->mp_PrevUnit, VP_RhsNowHead);
ZCLinkUnit::MakeRing(mp_NowHeadUnit , VP_RhsNowHead);
}
ml_NowObjtCnt += VP_RhsNowHead->ml_UseSize ;
}/*
@ -4144,8 +4144,8 @@ namespace ZNsMain
{
ZCLinkUnit* VP_RhsTailUnit=rhs.mp_CutHeadUnit->mp_PrevUnit;
ZCLinkUnit::JoinLink (mp_CutHeadUnit->mp_PrevUnit, rhs.mp_CutHeadUnit);
ZCLinkUnit::MakeCircle(mp_CutHeadUnit , VP_RhsTailUnit );
ZCLinkUnit::JoinLink(mp_CutHeadUnit->mp_PrevUnit, rhs.mp_CutHeadUnit);
ZCLinkUnit::MakeRing(mp_CutHeadUnit , VP_RhsTailUnit );
}/*
else*/
@ -4174,20 +4174,20 @@ namespace ZNsMain
ZCLinkUnit* VP_RhsCutHead =
VP_RhsCutTail->GetObjtPtr( -(AI_FetchSize-1) );
ZCLinkUnit::MakeCircle(
ZCLinkUnit::MakeRing(
rhs.mp_CutHeadUnit, VP_RhsCutHead->mp_PrevUnit);
rhs.ml_CutUnitCnt -= AI_FetchSize;
if(ml_CutUnitCnt<1)
{
ZCLinkUnit::MakeCircle(VP_RhsCutHead, VP_RhsCutTail);
ZCLinkUnit::MakeRing(VP_RhsCutHead, VP_RhsCutTail);
mp_CutHeadUnit=VP_RhsCutHead; ///////////////////////
mp_CutHeadUnit=VP_RhsCutHead; /////////////////////
}
else
{
ZCLinkUnit::JoinLink (mp_CutHeadUnit->mp_PrevUnit, VP_RhsCutHead);
ZCLinkUnit::MakeCircle(mp_CutHeadUnit , VP_RhsCutTail);
ZCLinkUnit::JoinLink(mp_CutHeadUnit->mp_PrevUnit, VP_RhsCutHead);
ZCLinkUnit::MakeRing(mp_CutHeadUnit , VP_RhsCutTail);
}
ml_CutUnitCnt += AI_FetchSize;
}/*
@ -4208,25 +4208,25 @@ namespace ZNsMain
// rhs.ml_CutUnitCnt>AI_FetchSize 이고 rhs.ml_CutUnitCnt>0
ZCLinkUnit* VP_RhsCutHead=rhs.mp_CutHeadUnit;
ZCLinkUnit* VP_RhsCutHead=rhs.mp_CutHeadUnit ;
ZCLinkUnit* VP_RhsCutTail=VP_RhsCutHead->GetObjtPtr(AI_FetchSize-1);
rhs.mp_CutHeadUnit=VP_RhsCutTail->mp_NextUnit;
ZCLinkUnit::MakeCircle(
ZCLinkUnit::MakeRing(
rhs.mp_CutHeadUnit, VP_RhsCutHead->mp_PrevUnit);
rhs.ml_CutUnitCnt -= AI_FetchSize;
if(ml_CutUnitCnt<1)
{
ZCLinkUnit::MakeCircle(VP_RhsCutHead, VP_RhsCutTail);
ZCLinkUnit::MakeRing(VP_RhsCutHead, VP_RhsCutTail);
mp_CutHeadUnit=VP_RhsCutHead; ///////////////////////
mp_CutHeadUnit=VP_RhsCutHead; /////////////////////
}
else
{
ZCLinkUnit::JoinLink (mp_CutHeadUnit->mp_PrevUnit, VP_RhsCutHead);
ZCLinkUnit::MakeCircle(mp_CutHeadUnit , VP_RhsCutTail);
ZCLinkUnit::JoinLink(mp_CutHeadUnit->mp_PrevUnit, VP_RhsCutHead);
ZCLinkUnit::MakeRing(mp_CutHeadUnit , VP_RhsCutTail);
}
ml_CutUnitCnt += AI_FetchSize;
}/*
@ -4244,21 +4244,21 @@ namespace ZNsMain
rhs.mp_CutHeadUnit=0;
else
{
ZCLinkUnit::MakeCircle(
ZCLinkUnit::MakeRing(
rhs.mp_CutHeadUnit, VP_RhsNowTail->mp_PrevUnit);
}/*
else*/
if(++ml_CutUnitCnt<=1)
{
ZCLinkUnit::MakeCircle(VP_RhsNowTail, VP_RhsNowTail);
ZCLinkUnit::MakeRing(VP_RhsNowTail, VP_RhsNowTail);
mp_CutHeadUnit=VP_RhsNowTail; ///////////////////////
mp_CutHeadUnit=VP_RhsNowTail; /////////////////////
}
else
{
ZCLinkUnit::JoinLink (mp_CutHeadUnit->mp_PrevUnit, VP_RhsNowTail);
ZCLinkUnit::MakeCircle(mp_CutHeadUnit , VP_RhsNowTail);
ZCLinkUnit::JoinLink(mp_CutHeadUnit->mp_PrevUnit, VP_RhsNowTail);
ZCLinkUnit::MakeRing(mp_CutHeadUnit , VP_RhsNowTail);
}/*
else*/
}/*
@ -4276,7 +4276,7 @@ namespace ZNsMain
if(--rhs.ml_CutUnitCnt<1) {rhs.mp_CutHeadUnit=0;} else
{
ZCLinkUnit::MakeCircle(
ZCLinkUnit::MakeRing(
rhs.mp_CutHeadUnit, VP_RhsNowHead->mp_PrevUnit);
}/*
////////////////////////////////////////////////////*/
@ -4284,13 +4284,13 @@ namespace ZNsMain
if(++ml_CutUnitCnt<=1)
{
ZCLinkUnit::
MakeCircle(VP_RhsNowHead, VP_RhsNowHead);
MakeRing(VP_RhsNowHead, VP_RhsNowHead);
mp_CutHeadUnit = VP_RhsNowHead;
}
else
{
ZCLinkUnit::JoinLink (mp_CutHeadUnit->mp_PrevUnit, VP_RhsNowHead);
ZCLinkUnit::MakeCircle(mp_CutHeadUnit , VP_RhsNowHead);
ZCLinkUnit::JoinLink(mp_CutHeadUnit->mp_PrevUnit, VP_RhsNowHead);
ZCLinkUnit::MakeRing(mp_CutHeadUnit , VP_RhsNowHead);
}/*
else*/
}/*

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)*/

View File

@ -239,7 +239,7 @@ namespace ZNsMain
}/*
//////////////////////////*/
ZCLink::MakeCircle
ZCLink::MakeRing
(VPP_LinkPtrArr[0], VPP_LinkPtrArr[VL_SortSize-1]);
ARR_CObjList.mp_HeadLink = VPP_LinkPtrArr[0];
@ -292,7 +292,7 @@ namespace ZNsMain
}/*
//////////////////////////*/
ZCLink::MakeCircle
ZCLink::MakeRing
(VPP_LinkPtrArr[0], VPP_LinkPtrArr[VL_SortSize-1]);
ARR_CObjList.mp_HeadLink = VPP_LinkPtrArr[0];
@ -821,7 +821,7 @@ namespace ZNsMain
////////////////////////////
#if(_CODE_OLD_) // 아래 코드만 빠진다.
ZCLink::MakeCircle(VPP_LinkPtrArr[0], VPP_LinkPtrArr[VL_SortSize-1]);
ZCLink::MakeRing(VPP_LinkPtrArr[0], VPP_LinkPtrArr[VL_SortSize-1]);
#else
ARR_CObjList.mp_HeadLink=VPP_LinkPtrArr[0] ;
ARR_CObjList.mp_TailLink=VPP_LinkPtrArr[VL_SortSize-1];