diff --git a/ZCppMain/ZMainHead.H b/ZCppMain/ZMainHead.H index 225a699..64d38ce 100644 --- a/ZCppMain/ZMainHead.H +++ b/ZCppMain/ZMainHead.H @@ -5409,6 +5409,38 @@ namespace ZNsMain }/* _VT_ ZCLink* NewLink(TypeArg AO_ArgData)*/ + _VT_ void NewLink + (TypeSize AL_NeedCnt, ZCLink*& APR_HeadLink, ZCLink*& APR_TailLink) + { + if(TTypeCRTP::ZEUseCRTP<1) + { + APR_HeadLink = new ZCLink; + + ZCLink* VP_MakeLink = 0 ; + ZCLink* VP_TailLink = APR_HeadLink; + + while(--AL_NeedCnt>0) // AL_NeedCnt - 1 번 순환 + { + // AL_NeedCnt - 1 번 순환 + + VP_MakeLink = new ZCLink; + + ZCLink::JoinLink + (VP_TailLink, VP_MakeLink); + VP_TailLink = VP_MakeLink ; + }/* + while(--AL_NeedCnt>0)*/ + + APR_TailLink = VP_TailLink; return; + }/* + if(TTypeCRTP::ZEUseCRTP<1)*/ + + return GetChildObj().NewLink + (AL_NeedCnt, RR(APR_HeadLink), RR(APR_TailLink)); + }/* + _VT_ void NewLink + (TypeSize AL_NeedCnt, ZCLink*& APR_HeadLink, ZCLink*& APR_TailLink) + */ _VT_ void DelLink(ZCLink* AP_DelLink) { if(TTypeCRTP::ZEUseCRTP<1) @@ -5418,6 +5450,34 @@ namespace ZNsMain }/* _VT_ void DelLink(ZCLink* AP_DelLink)*/ + void DelLink ////////////////////////////////////////// + ( + TypeSize AL_CutCnt , + ZCLink* AP_CutHead, + ZCLink* AP_CutTail + ) + /////////////////////////////////////////////////////// + { + if(TTypeCRTP::ZEUseCRTP<1) + { + ZCLink* VP_DelLink = AP_CutHead; + + __for0(TypeSize, i, AL_CutCnt) + { + AP_CutHead = AP_CutHead->GetNextPtr() ; + + delete VP_DelLink; VP_DelLink=AP_CutHead; + }/* + __for0(TypeSize, i, AL_CutCnt)*/ + + return; + }/* + if(TTypeCRTP::ZEUseCRTP<1)*/ + + GetChildObj().DelLink(AL_CutCnt, AP_CutHead, AP_CutTail); + } + /////////////////////////////////////////////////////// + /*private :*/ private : diff --git a/ZCppMain/ZtCMainChars.H b/ZCppMain/ZtCMainChars.H index f45db01..b6b5638 100644 --- a/ZCppMain/ZtCMainChars.H +++ b/ZCppMain/ZtCMainChars.H @@ -2789,12 +2789,12 @@ namespace ZNsMain { if(AB_DoAppendEachLink==true) { - ARR_SaveList.AddTailDefault()->GetData(). + ARR_SaveList.AddTailDef()->GetData(). append(APC_OriginChar+VL_SearchPos, VL_SearchLen) ; } else { - ARR_SaveList.AddTailDefault()->GetData().Invalidate(). + ARR_SaveList.AddTailDef()->GetData().Invalidate(). append(APC_OriginChar+VL_SearchPos, VL_SearchLen) ; }/* else*/ @@ -2811,10 +2811,10 @@ namespace ZNsMain { if(AB_DoAppendEachLink==true) { - ARR_SaveList.AddTailDefault()->GetData(). + ARR_SaveList.AddTailDef()->GetData(). append(APC_OriginChar+VL_SearchPos, VL_SearchLen) ; }else{ - ARR_SaveList.AddTailDefault()->GetData().Invalidate(). + ARR_SaveList.AddTailDef()->GetData().Invalidate(). append(APC_OriginChar+VL_SearchPos, VL_SearchLen) ; } }/* @@ -2917,7 +2917,7 @@ namespace ZNsMain { if(ARR_CStrListSave.size()>VL_PrevSize) { - ARR_CStrListSave.AddTailDefault()->GetData(). + ARR_CStrListSave.AddTailDef()->GetData(). append(APC_Origin+VL_SearchPos, AL_OriginLen-VL_SearchPos) ; }/* if(ARR_CStrListSave.size()>VL_PrevSize)*/ @@ -2928,8 +2928,8 @@ namespace ZNsMain if(VL_FindPos>0) { - ARR_CStrListSave.AddTailDefault()->GetData()(APC_Origin+VL_SearchPos, VL_FindPos); - ARR_CStrListSave.AddTailDefault()->GetData()=(*VP_CStringStart); + ARR_CStrListSave.AddTailDef()->GetData()(APC_Origin+VL_SearchPos, VL_FindPos); + ARR_CStrListSave.AddTailDef()->GetData()=(*VP_CStringStart); }/* if(VL_FindPos>0)*/ diff --git a/ZCppMain/ZtCObjList.H b/ZCppMain/ZtCObjList.H index cbfee32..83a64d8 100644 --- a/ZCppMain/ZtCObjList.H +++ b/ZCppMain/ZtCObjList.H @@ -1947,13 +1947,13 @@ namespace ZNsMain /*/////////////////////////////////////////////////////////////////// - ■ ZCLink* AddHeadDefault() 함수의 코드 중 return 문이 return *this + ■ ZCLink* AddHeadDef() 함수의 코드 중 return 문이 return *this 라고 되어 있었다. 10 여년간 이를 모른 것이다. 자그마치 10 여년간! -- 2015-02-21- 21:36:00 ///////////////////////////////////////////////////////////////////*/ - ZCLink* AddHeadDefault() + ZCLink* AddHeadDef() { #if(_CODE_NEW_) ZCLink* VP_NewLink = mo_FreeObjt.SendFreeOut(); @@ -1962,7 +1962,7 @@ namespace ZNsMain #endif JoinAfter(VP_NewLink, 0 /*/////////*/ , 0 ); return VP_NewLink; } - ZCLink* AddTailDefault() + ZCLink* AddTailDef() { #if(_CODE_NEW_) ZCLink* VP_NewLink = mo_FreeObjt.SendFreeOut(); @@ -1972,9 +1972,6 @@ namespace ZNsMain JoinAfter(VP_NewLink, GetTailLinkPtr(), ml_Size); return VP_NewLink; } - ZCLink* AddHeadDef(){ return AddHeadDefault(); } - ZCLink* AddTailDef(){ return AddTailDefault(); } - ZtCObjList& pop_back (TypeArg AR_Type){return AddHead(AR_Type);} ZtCObjList& push_back(TypeArg AR_Type){return AddTail(AR_Type);} diff --git a/ZCppMain/ZtCSimList.H b/ZCppMain/ZtCSimList.H index b282a83..85045ce 100644 --- a/ZCppMain/ZtCSimList.H +++ b/ZCppMain/ZtCSimList.H @@ -1336,12 +1336,12 @@ namespace ZNsMain //const TType& operator[](TTypSize AL_Index) const - operator TType&(){return AddTailDefault()->mo_Data;} + operator TType&(){return AddTailDef()->mo_Data;} TType& operator()() { - return AddTailDefault()->mo_Data; + return AddTailDef()->mo_Data; }/* TType& operator()()*/ @@ -1376,7 +1376,7 @@ namespace ZNsMain }/* void AddHead(TypeArg AR_Type)*/ - ZCLink* AddHeadDefault() + ZCLink* AddHeadDef() { ZCLink* VP_AddLink=GetCFreeHeap().SendFreeOut(); @@ -1393,7 +1393,7 @@ namespace ZNsMain } ZCLink::MakeRing(mp_HeadLink, mp_TailLink); }/* - ZCLink* AddHeadDefault()*/ + ZCLink* AddHeadDef()*/ void AddTail(TypeArg AR_Type) @@ -1426,7 +1426,7 @@ namespace ZNsMain }/* void AddTail(TypeArg AR_Type)*/ - ZCLink* AddTailDefault() + ZCLink* AddTailDef() { ZCLink* VP_AddLink = GetCFreeHeap().SendFreeOut(); @@ -1443,10 +1443,10 @@ namespace ZNsMain } ZCLink::MakeRing(mp_HeadLink, mp_TailLink); }/* - ZCLink* AddTailDefault()*/ + ZCLink* AddTailDef()*/ - void AddHeadDefault(TTypSize AL_DefaultSize) + void AddHeadDef(TTypSize AL_DefaultSize) { if(AL_DefaultSize<1) return; @@ -1456,9 +1456,9 @@ namespace ZNsMain ); ////////////////////////////////// }/* - void AddHeadDefault(TTypSize AL_DefaultSize)*/ + void AddHeadDef(TTypSize AL_DefaultSize)*/ - void AddTailDefault(TTypSize AL_DefaultSize) + void AddTailDef(TTypSize AL_DefaultSize) { if(AL_DefaultSize<1) return; @@ -1468,7 +1468,7 @@ namespace ZNsMain ); ////////////////////////////////// }/* - void AddTailDefault(TTypSize AL_DefaultSize)*/ + void AddTailDef(TTypSize AL_DefaultSize)*/ ZCLink* GetHeadLinkPtr (){return mp_HeadLink;}