edit ZMainHead.H

This commit is contained in:
2021-03-04 15:39:34 +09:00
parent 11f325e278
commit 024c9d35db

View File

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