commit 2025-10-03 23:48 add capacity() & size_free() in ZtCBaseList : ZCppMain/ZMainHead.H

This commit is contained in:
2025-10-03 23:48:53 +09:00
parent 0b9828c06a
commit 66660bfb3c
4 changed files with 58 additions and 65 deletions

View File

@ -4,6 +4,7 @@
■ unsigned 정수형은 가급적이면 쓰지 말자. 일반적으로 많이 쓰는 signed 정수와의 호환이
'약간' 거슬리고 있는데, 이 '약간' 이라도 왠지 찝찝하다. 2008-09-14 03:24:00
■ 해당 namespace 에서 필요한 상수는 그 namespace 안에서 상수전용 namespace ZNsConst 를
만들고 그 안에 둔다.
@ -4111,12 +4112,6 @@ namespace ZNsMain
}/*
_NP_ TypeSize size() const*/
_NP_ TypeSize capacity() const
{
return GetAllHeapSize();
}/*
_NP_ TypeSize capacity() const*/
public:
};/*
template<typename TLinkList> class ZtCBody*/
@ -4283,31 +4278,14 @@ namespace ZNsMain
}/*
_NP_ TypeSize GetUseHeapSize() const*/
_NP_ TypeSize GetAllHeapSize() const
{
return 0;
}/*
_NP_ TypeSize GetAllHeapSize() const*/
_NP_ TypeSize size() const
{
return GetUseHeapSize();
}/*
_NP_ TypeSize GetHeapSize() const*/
_NP_ TypeSize capacity() const
{
return GetAllHeapSize();
}/*
_NP_ TypeSize capacity() const*/
_NP_ void ChangeCapacity(TypeSize AI_AddCut)
{
}/*
_NP_ void ChangeCapacity(TypeSize AI_AddCut)*/
_NP_ TypeSize size() const*/
public:
};/*
template<typename TSnglList> class ZtCBody*/
@ -4435,31 +4413,13 @@ namespace ZNsMain
}/*
_NP_ TypeSize GetUseHeapSize() const*/
_NP_ TypeSize GetAllHeapSize() const
{
return 0;
}/*
_NP_ TypeSize GetAllHeapSize() const*/
_NP_ TypeSize size() const
{
return GetUseHeapSize();
}/*
TypeSize size() const*/
_NP_ TypeSize capacity() const
{
return GetAllHeapSize();
}/*
_NP_ TypeSize capacity() const*/
_NP_ void ChangeCapacity(TypeSize AI_AddCut)
{
}/*
_NP_ void ChangeCapacity(TypeSize AI_AddCut)*/
public:
};/*
template<typename TLinkList> class ZtCBody*/
@ -5800,9 +5760,9 @@ namespace ZNsMain
TypeData& AddHead()
{ return AddHeadLink(SendFreeOut())->mo_DataObjt; }
{ return **AddHeadLink(SendFreeOut()); }
TypeData& AddTail()
{ return AddTailLink(SendFreeOut())->mo_DataObjt; }
{ return **AddTailLink(SendFreeOut()); }
TypeData& AddHead(TypeArg AO_ArgData) /*########################*/
@ -6087,6 +6047,15 @@ namespace ZNsMain
TypeSize size() const{ return ml_LinkSize; }
TypeSize GetSize() const{ return ml_LinkSize; }
_VT_ TypeSize capacity ()
{ if(TTypeCRTP::ZEUseCRTP<1) return 0;
return GetChildObj().capacity ();
}
_VT_ TypeSize size_free()
{ if(TTypeCRTP::ZEUseCRTP<1) return 0;
return GetChildObj().size_free();
}
void push_front(TypeArg AO_ArgData){AddHead(AO_ArgData);}
void push_back (TypeArg AO_ArgData){AddTail(AO_ArgData);}

View File

@ -1413,10 +1413,14 @@ namespace ZNsMain
TypeSize GetSize () const{return ml_LinkSize;}
TypeSize size () const{return ml_LinkSize;}
TypeSize capacity() const{return size()+mo_FreeObjt.size();}
TypeSize capacity() const
{ return size()+mo_FreeObjt.size(); }
TypeSize GetFreeSize() const
{ return mo_FreeObjt.size(); }
TypeSize size_free () const
{ return mo_FreeObjt.size(); }
ZCLink* GetHeadLinkPtr(){return mp_HeadLink;}

View File

@ -2055,28 +2055,17 @@ namespace ZNsMain
inline TTypSize GetSize() const
{
return ml_LinkSize;
}/*
inline TTypSize GetSize() const*/
inline TTypSize size() const
{
return ml_LinkSize;
}/*
inline TTypSize size() const*/
{ return ml_LinkSize; }
inline TTypSize size () const
{ return ml_LinkSize; }
inline TTypSize capacity() const
{
return size()+mo_FreeObjt.size();
}/*
inline TTypSize capacity() const*/
{ return size()+mo_FreeObjt.size(); }
inline TypeSize GetFreeSize() const
{
return mo_FreeObjt.size();
}/*
inline TypeSize GetFreeSize() const*/
{ return mo_FreeObjt.size(); }
inline TypeSize size_free () const
{ return mo_FreeObjt.size(); }
inline bool IsEmpty() const

View File

@ -113,6 +113,20 @@ namespace ZNsMain
typedef typename ZCBaseList::ZCLink ZCLink;
public :
_VT_ ZTypLong capacity() const
{
cout<<"** ZCBaseListEx10 : capacity()"<<endl; return 0;
}/*
_VT_ ZTypLong capacity() const*/
_VT_ ZTypLong size_free() const
{
cout<<"** ZCBaseListEx10 : size_free()"<<endl; return 0;
}/*
_VT_ ZTypLong size_free() const*/
private:
_VT_ ZCLink* SendFreeOut()
@ -204,6 +218,20 @@ namespace ZNsMain
typedef typename ZCBaseList::ZCLink ZCLink;
public :
_VT_ ZTypLong capacity() const
{
cout<<"** ZCBaseListEx11 : capacity()"<<endl; return 0;
}/*
_VT_ ZTypLong capacity() const*/
_VT_ ZTypLong size_free() const
{
cout<<"** ZCBaseListEx11 : size_free()"<<endl; return 0;
}/*
_VT_ ZTypLong size_free() const*/
private:
_VT_ ZCLink* SendFreeOut()
@ -378,6 +406,9 @@ namespace ZNsMain
VO_ZCBaseListEx10_2.DeleteHead(1);
VO_ZCBaseListEx10_2.IterElement(&ShowDataInNode);
cout<<"# VO_ZCBaseListEx10 : capacity()="<<VO_ZCBaseListEx10 .capacity()<<endl;
cout<<"# VO_ZCBaseListEx10_2 : capacity()="<<VO_ZCBaseListEx10_2.capacity()<<endl;
return 0;
}/*
static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)*/