edit ZMainHead.H
This commit is contained in:
@ -2039,7 +2039,7 @@ namespace ZNsMain
|
||||
class ZtCTypeObjUnitList //////////////////////////
|
||||
{
|
||||
public :
|
||||
enum{ZEArrSize =TInArrSize };
|
||||
enum{ZZEArrSize =TInArrSize };
|
||||
enum{ZEMaxUnitCnt =TInMaxUnitCnt};
|
||||
public :
|
||||
typedef Type TypeData ;
|
||||
@ -2081,15 +2081,15 @@ namespace ZNsMain
|
||||
public :
|
||||
typedef TTypeObjUnitList TypeObjUnitList;
|
||||
public :
|
||||
enum{ZEArrSize =TypeObjUnitList::EArrSize };
|
||||
enum{ZEMaxUnitCnt=TypeObjUnitList::EMaxUnitCnt};
|
||||
enum{ZZEArrSize =TypeObjUnitList::ZEArrSize };
|
||||
enum{ZEMaxUnitCnt =TypeObjUnitList::ZEMaxUnitCnt};
|
||||
public :
|
||||
typedef typename TypeObjUnitList::TypeData TypeData ;
|
||||
typedef typename TypeObjUnitList::TypeArg TypeArg ;
|
||||
typedef typename TypeObjUnitList::TypeSize TypeSize ;
|
||||
typedef typename TypeObjUnitList::TypeAlloc TypeAlloc;
|
||||
public :
|
||||
typedef TypeData TypeArr[EArrSize];
|
||||
typedef TypeData TypeArr[ZEArrSize];
|
||||
typedef TypeData ZCLink ; // 이 typedef 에 주의.
|
||||
public :
|
||||
|
||||
@ -2121,7 +2121,7 @@ namespace ZNsMain
|
||||
|
||||
TypeData& AddEmptyObj_E() // E 는 Error 가 발생할 수 있다는 뜻.
|
||||
{
|
||||
return mo_TypeArr[ml_UseSize++]; // error 체크 즉, ml_UseSize>=EArrSize 인지를 체크하지 않는다.
|
||||
return mo_TypeArr[ml_UseSize++]; // error 체크 즉, ml_UseSize>=ZEArrSize 인지를 체크하지 않는다.
|
||||
}/*
|
||||
TypeData& AddEmptyObj_E()*/
|
||||
|
||||
@ -2184,7 +2184,7 @@ namespace ZNsMain
|
||||
|
||||
bool AddObj(TypeArg AR_Object)
|
||||
{
|
||||
if(ml_UseSize>=EArrSize) return false;
|
||||
if(ml_UseSize>=ZEArrSize) return false;
|
||||
|
||||
mo_TypeArr[ml_UseSize++]=AR_Object; return true;
|
||||
}/*
|
||||
@ -2192,13 +2192,13 @@ namespace ZNsMain
|
||||
|
||||
void AddObjArr(TypeData* AP_ObjArr, TypeSize AI_ArrSize)
|
||||
{
|
||||
if(ml_UseSize>=EArrSize) return;
|
||||
if(ml_UseSize>=ZEArrSize) return;
|
||||
|
||||
while(--AI_ArrSize>=0)
|
||||
{
|
||||
mo_TypeArr[ml_UseSize++] = *AP_ObjArr++;
|
||||
|
||||
if(ml_UseSize>=EArrSize) return;
|
||||
if(ml_UseSize>=ZEArrSize) return;
|
||||
}/*
|
||||
while(--AI_ArrSize>=0)*/
|
||||
}/*
|
||||
@ -2206,7 +2206,7 @@ namespace ZNsMain
|
||||
|
||||
bool AddEmptyObj(TypeData*& APR_Object)
|
||||
{
|
||||
if(ml_UseSize>=EArrSize) return false;
|
||||
if(ml_UseSize>=ZEArrSize) return false;
|
||||
|
||||
APR_Object=mo_TypeArr+(ml_UseSize++); return true;
|
||||
}/*
|
||||
@ -2495,11 +2495,11 @@ namespace ZNsMain
|
||||
|
||||
void AddTail(TypeArg AR_Object)
|
||||
{
|
||||
if(ml_NowUnitCnt>0 && mp_NowHeadUnit->mp_PrevUnit->size()<this->EArrSize)
|
||||
if(ml_NowUnitCnt>0 && mp_NowHeadUnit->mp_PrevUnit->size()<this->ZEArrSize)
|
||||
{
|
||||
mp_NowHeadUnit->mp_PrevUnit->AddObj(AR_Object); ++ml_NowObjtCnt; return;
|
||||
}/*
|
||||
if(ml_NowUnitCnt>0 && mp_NowHeadUnit->mp_PrevUnit->size()<this->EArrSize)*/
|
||||
if(ml_NowUnitCnt>0 && mp_NowHeadUnit->mp_PrevUnit->size()<this->ZEArrSize)*/
|
||||
|
||||
AllocUnitAtTail()->AddObj(AR_Object); ++ml_NowObjtCnt;
|
||||
}/*
|
||||
@ -2530,11 +2530,11 @@ namespace ZNsMain
|
||||
|
||||
TypeData& AddTail()
|
||||
{
|
||||
if(ml_NowUnitCnt>0 && mp_NowHeadUnit->mp_PrevUnit->size()<this->EArrSize)
|
||||
if(ml_NowUnitCnt>0 && mp_NowHeadUnit->mp_PrevUnit->size()<this->ZEArrSize)
|
||||
{
|
||||
++ml_NowObjtCnt; return mp_NowHeadUnit->mp_PrevUnit->AddEmptyObj_E();
|
||||
}/*
|
||||
if(ml_NowUnitCnt>0 && mp_NowHeadUnit->mp_PrevUnit->size()<this->EArrSize)*/
|
||||
if(ml_NowUnitCnt>0 && mp_NowHeadUnit->mp_PrevUnit->size()<this->ZEArrSize)*/
|
||||
|
||||
++ml_NowObjtCnt; return AllocUnitAtTail()->AddEmptyObj_E();
|
||||
}/*
|
||||
@ -2548,12 +2548,12 @@ namespace ZNsMain
|
||||
|
||||
if(AI_ArrSize<1) return;
|
||||
|
||||
TypeSize VI_AddUnitCnt =AI_ArrSize/EArrSize;
|
||||
TypeSize VI_AddExtraCnt=AI_ArrSize%EArrSize;
|
||||
TypeSize VI_AddUnitCnt =AI_ArrSize/ZEArrSize;
|
||||
TypeSize VI_AddExtraCnt=AI_ArrSize%ZEArrSize;
|
||||
|
||||
while(--VI_AddUnitCnt>=0)
|
||||
{
|
||||
AllocUnitAtTail()->AddObjArr(AP_ObjArr, EArrSize); AP_ObjArr += EArrSize;
|
||||
AllocUnitAtTail()->AddObjArr(AP_ObjArr, ZEArrSize); AP_ObjArr += ZEArrSize;
|
||||
}/*
|
||||
while(--VI_AddUnitCnt>=0)*/
|
||||
|
||||
@ -2578,28 +2578,28 @@ namespace ZNsMain
|
||||
template<typename TAllocWork> void AddTailInPool(
|
||||
TAllocWork& AR_CAllocWork, TypeData* AP_ObjArr, TypeSize AI_ArrSize)
|
||||
{
|
||||
// EMaxUnitCnt 개 단위로 등록한다.
|
||||
// ZEMaxUnitCnt 개 단위로 등록한다.
|
||||
// CAllocWork_BASE2_T<> 를 참고하면, *this 는 '임시 작업 큐'다.
|
||||
|
||||
typedef typename TAllocWork::CSyncExec CSyncExec;
|
||||
|
||||
if(AI_ArrSize<1) return;
|
||||
|
||||
TypeSize VI_AddUnitCnt =AI_ArrSize/EArrSize;
|
||||
TypeSize VI_AddExtraCnt=AI_ArrSize%EArrSize;
|
||||
TypeSize VI_MaxUnitCnt =EMaxUnitCnt ;
|
||||
TypeSize VI_AddUnitCnt =AI_ArrSize/ZEArrSize;
|
||||
TypeSize VI_AddExtraCnt=AI_ArrSize%ZEArrSize;
|
||||
TypeSize VI_MaxUnitCnt =ZEMaxUnitCnt ;
|
||||
|
||||
while(--VI_AddUnitCnt>=0)
|
||||
{
|
||||
AllocUnitAtTail()->
|
||||
AddObjArr(AP_ObjArr, EArrSize); AP_ObjArr += EArrSize;
|
||||
ml_NowObjtCnt += EArrSize ;
|
||||
AddObjArr(AP_ObjArr, ZEArrSize); AP_ObjArr += ZEArrSize;
|
||||
ml_NowObjtCnt += ZEArrSize ;
|
||||
|
||||
if(--VI_MaxUnitCnt<=0)
|
||||
{
|
||||
// CAllocWork_BASE2_T<> 를 참고하면, *this 는 '임시 작업 큐'다.
|
||||
|
||||
AR_CAllocWork.AddList(RR(*this)); VI_MaxUnitCnt=EMaxUnitCnt;
|
||||
AR_CAllocWork.AddList(RR(*this)); VI_MaxUnitCnt=ZEMaxUnitCnt;
|
||||
}/*
|
||||
if(--VI_MaxUnitCnt<=0)*/
|
||||
}/*
|
||||
@ -2645,18 +2645,18 @@ namespace ZNsMain
|
||||
|
||||
if(AI_ArrSize<1) return;
|
||||
|
||||
TypeSize VI_AddUnitCnt =AI_ArrSize/EArrSize;
|
||||
TypeSize VI_AddExtraCnt=AI_ArrSize%EArrSize;
|
||||
TypeSize VI_MaxUnitCnt =EMaxUnitCnt ;
|
||||
TypeSize VI_AddUnitCnt =AI_ArrSize/ZEArrSize;
|
||||
TypeSize VI_AddExtraCnt=AI_ArrSize%ZEArrSize;
|
||||
TypeSize VI_MaxUnitCnt =ZEMaxUnitCnt ;
|
||||
|
||||
while(--VI_AddUnitCnt>=0)
|
||||
{
|
||||
__for0(TypeSize, i, EArrSize)
|
||||
__for0(TypeSize, i, ZEArrSize)
|
||||
push_back() = *(AP_ObjArr++);
|
||||
|
||||
if(--VI_MaxUnitCnt<=0)
|
||||
{
|
||||
AR_CAllocWork.AddList(RR(*this)); VI_MaxUnitCnt=EMaxUnitCnt;
|
||||
AR_CAllocWork.AddList(RR(*this)); VI_MaxUnitCnt=ZEMaxUnitCnt;
|
||||
}/*
|
||||
if(--VI_MaxUnitCnt<=0)*/
|
||||
}/*
|
||||
|
Reference in New Issue
Block a user