commit 2025-09-01 11:26 add ZtCList in ZCppMain/ZMainHead.H
This commit is contained in:
@ -2761,18 +2761,19 @@ namespace ZNsMain
|
|||||||
friend class ZCHeapAllocList;
|
friend class ZCHeapAllocList;
|
||||||
public:
|
public:
|
||||||
|
|
||||||
ZCLink(ZCFreeAllocBase& ArCFreeAllocBase):mr_AllocBase(ArCFreeAllocBase), mp_NextLink(0)
|
ZCLink(ZCFreeAllocBase& ArCFreeAllocBase) :
|
||||||
|
mr_AllocBase(ArCFreeAllocBase), mp_NextLink(0)
|
||||||
{
|
{
|
||||||
}/*
|
}/*
|
||||||
ZCLink(ZCFreeAllocBase& ArCFreeAllocBase)*/
|
ZCLink(ZCFreeAllocBase& ArCFreeAllocBase)*/
|
||||||
|
|
||||||
ZCLink* GetNextLink()
|
ZCLink* GetNextPtr()
|
||||||
{
|
{
|
||||||
return mp_NextLink;
|
return mp_NextLink;
|
||||||
}/*
|
}/*
|
||||||
ZCLink* GetNextLink()*/
|
ZCLink* GetNextPtr()*/
|
||||||
|
|
||||||
ZCLink* GetNextLink(long AL_Distance)
|
ZCLink* GetNextPtr(long AL_Distance)
|
||||||
{
|
{
|
||||||
ZCLink* VP_NowLink=this;
|
ZCLink* VP_NowLink=this;
|
||||||
|
|
||||||
@ -2781,7 +2782,7 @@ namespace ZNsMain
|
|||||||
|
|
||||||
return VP_NowLink;
|
return VP_NowLink;
|
||||||
}/*
|
}/*
|
||||||
ZCLink* GetNextLink(long AL_Distance)*/
|
ZCLink* GetNextPtr(long AL_Distance)*/
|
||||||
|
|
||||||
ZCFreeAllocBase& GetData()
|
ZCFreeAllocBase& GetData()
|
||||||
{
|
{
|
||||||
@ -2855,7 +2856,7 @@ namespace ZNsMain
|
|||||||
|
|
||||||
ZCFreeAllocBase& GetData(long AL_Index)
|
ZCFreeAllocBase& GetData(long AL_Index)
|
||||||
{
|
{
|
||||||
return mp_HeadLink->GetNextLink(AL_Index-1)->mr_AllocBase;
|
return mp_HeadLink->GetNextPtr(AL_Index-1)->mr_AllocBase;
|
||||||
}/*
|
}/*
|
||||||
ZCFreeAllocBase& GetData(long AL_Index)*/
|
ZCFreeAllocBase& GetData(long AL_Index)*/
|
||||||
|
|
||||||
@ -2867,7 +2868,7 @@ namespace ZNsMain
|
|||||||
|
|
||||||
template<typename DeriveType> DeriveType& GetDataType(long AL_Index)
|
template<typename DeriveType> DeriveType& GetDataType(long AL_Index)
|
||||||
{
|
{
|
||||||
return static_cast<DeriveType&>( mp_HeadLink->GetNextLink(AL_Index-1)->mr_AllocBase );
|
return static_cast<DeriveType&>( mp_HeadLink->GetNextPtr(AL_Index-1)->mr_AllocBase );
|
||||||
}/*
|
}/*
|
||||||
template<typename DeriveType> DeriveType& GetDataType(long AL_Index) */
|
template<typename DeriveType> DeriveType& GetDataType(long AL_Index) */
|
||||||
|
|
||||||
@ -3713,6 +3714,341 @@ namespace ZNsMain
|
|||||||
template<> string& ZftMakeStr(string& ARR_SaveCStr, bool AB_Bool)*/
|
template<> string& ZftMakeStr(string& ARR_SaveCStr, bool AB_Bool)*/
|
||||||
|
|
||||||
|
|
||||||
|
template ///////////////////////////////////////////////
|
||||||
|
<
|
||||||
|
typename TType,
|
||||||
|
typename TTypeArg = const TType&,
|
||||||
|
typename TTypSize = ZTypLong
|
||||||
|
>
|
||||||
|
class ZtCList /*######################################*/
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
class ZCLink;
|
||||||
|
public:
|
||||||
|
typedef TType TypeData;
|
||||||
|
typedef TTypeArg TypeArg ;
|
||||||
|
typedef TTypSize TypeSize;
|
||||||
|
typedef ZCLink* IterEasy; // 가장 대표적으로 쓰일 수 있는 반복자.
|
||||||
|
typedef ZCLink* iterator;
|
||||||
|
public:
|
||||||
|
|
||||||
|
|
||||||
|
class ZCLink
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
friend class ZtCList;
|
||||||
|
private:
|
||||||
|
TypeData mo_Data ;
|
||||||
|
ZCLink* mp_NextLink ;
|
||||||
|
private:
|
||||||
|
|
||||||
|
ZCLink* GetNextPtr() {return mp_NextLink;}
|
||||||
|
const ZCLink* GetNextPtr()const{return mp_NextLink;}
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
ZCLink()
|
||||||
|
{
|
||||||
|
mp_NextLink = 0;
|
||||||
|
}/*
|
||||||
|
ZCLink()*/
|
||||||
|
|
||||||
|
ZCLink(const ZCLink& rhs)
|
||||||
|
{
|
||||||
|
mo_Data = rhs.mo_Data ;
|
||||||
|
mp_NextLink = 0 ;
|
||||||
|
}/*
|
||||||
|
ZCLink(const ZCLink& rhs)*/
|
||||||
|
|
||||||
|
ZCLink(TypeArg AR_Data)
|
||||||
|
{
|
||||||
|
mo_Data = AR_Data ;
|
||||||
|
mp_NextLink = 0 ;
|
||||||
|
}/*
|
||||||
|
ZCLink(const ZCLink& rhs)*/
|
||||||
|
|
||||||
|
ZCLink& operator=(const ZCLink& rhs)
|
||||||
|
{
|
||||||
|
mo_Data = rhs.mo_Data; return *this;
|
||||||
|
}/*
|
||||||
|
ZCLink& operator=(const ZCLink& rhs)*/
|
||||||
|
|
||||||
|
|
||||||
|
operator TypeData& (){return mo_Data;}
|
||||||
|
operator TypeData (){return mo_Data;}
|
||||||
|
TypeData& GetData (){return mo_Data;}
|
||||||
|
TypeData& operator*(){return mo_Data;}
|
||||||
|
|
||||||
|
operator const TypeData& () const{return mo_Data;}
|
||||||
|
const TypeData& GetData () const{return mo_Data;}
|
||||||
|
const TypeData& operator*() const{return mo_Data;}
|
||||||
|
};/*
|
||||||
|
class ZCLink*/
|
||||||
|
|
||||||
|
|
||||||
|
public :
|
||||||
|
private :
|
||||||
|
ZCLink* mp_HeadLink;
|
||||||
|
ZCLink* mp_TailLink;
|
||||||
|
TypeSize ml_LinkCnt ;
|
||||||
|
public :
|
||||||
|
|
||||||
|
ZtCList()
|
||||||
|
{
|
||||||
|
mp_HeadLink =0 ;
|
||||||
|
mp_TailLink =0 ;
|
||||||
|
ml_LinkCnt =0 ;
|
||||||
|
}/*
|
||||||
|
ZtCList()*/
|
||||||
|
|
||||||
|
~ZtCList()
|
||||||
|
{
|
||||||
|
DeleteAll();
|
||||||
|
}/*
|
||||||
|
~ZtCList()*/
|
||||||
|
|
||||||
|
void DeleteAll()
|
||||||
|
{
|
||||||
|
ZCLink* VP_NowLink = mp_HeadLink;
|
||||||
|
|
||||||
|
while(VP_NowLink!=0)
|
||||||
|
{
|
||||||
|
ZCLink* VP_NextLink =
|
||||||
|
VP_NowLink->mp_NextLink ;
|
||||||
|
|
||||||
|
delete VP_NowLink;
|
||||||
|
|
||||||
|
VP_NowLink = VP_NextLink;
|
||||||
|
}/*
|
||||||
|
while(VP_NowLink!=0)*/
|
||||||
|
|
||||||
|
mp_HeadLink =0 ;
|
||||||
|
mp_TailLink =0 ;
|
||||||
|
ml_LinkCnt =0 ;
|
||||||
|
}/*
|
||||||
|
void DeleteAll()*/
|
||||||
|
|
||||||
|
|
||||||
|
TypeData& AddTail()
|
||||||
|
{
|
||||||
|
ZCLink* VP_NewLink = new ZCLink;
|
||||||
|
|
||||||
|
if(ml_LinkCnt<1)
|
||||||
|
{
|
||||||
|
mp_HeadLink = VP_NewLink;
|
||||||
|
mp_TailLink = VP_NewLink;
|
||||||
|
ml_LinkCnt = 1 ;
|
||||||
|
|
||||||
|
return VP_NewLink->mo_Data;
|
||||||
|
}/*
|
||||||
|
if(ml_LinkCnt<1)*/
|
||||||
|
|
||||||
|
mp_TailLink->
|
||||||
|
mp_NextLink = VP_NewLink;
|
||||||
|
mp_TailLink = VP_NewLink;
|
||||||
|
ml_LinkCnt ++ ;
|
||||||
|
|
||||||
|
return VP_NewLink->mo_Data;
|
||||||
|
}/*
|
||||||
|
TypeData& AddTail()*/
|
||||||
|
|
||||||
|
TypeData& AddTail(TypeArg AO_ArgData)
|
||||||
|
{
|
||||||
|
ZCLink* VP_NewLink = new ZCLink(AO_ArgData);
|
||||||
|
|
||||||
|
if(ml_LinkCnt<1)
|
||||||
|
{
|
||||||
|
mp_HeadLink = VP_NewLink;
|
||||||
|
mp_TailLink = VP_NewLink;
|
||||||
|
ml_LinkCnt = 1 ;
|
||||||
|
|
||||||
|
return VP_NewLink->mo_Data;
|
||||||
|
}/*
|
||||||
|
if(ml_LinkCnt<1)*/
|
||||||
|
|
||||||
|
mp_TailLink->
|
||||||
|
mp_NextLink = VP_NewLink;
|
||||||
|
mp_TailLink = VP_NewLink;
|
||||||
|
ml_LinkCnt ++ ;
|
||||||
|
|
||||||
|
return VP_NewLink->mo_Data;
|
||||||
|
}/*
|
||||||
|
TypeData& AddTail(TypeArg AO_ArgData)*/
|
||||||
|
|
||||||
|
|
||||||
|
operator TypeData&(){ return AddTail(); }
|
||||||
|
|
||||||
|
|
||||||
|
template<typename TFunctor> void IterElement(TFunctor AO_Functor)
|
||||||
|
{
|
||||||
|
ZCLink* VP_LoopLink=mp_HeadLink;
|
||||||
|
|
||||||
|
__for0(TypeSize, i, ml_LinkCnt)
|
||||||
|
{
|
||||||
|
ZtCTypeData<TFunctor>::
|
||||||
|
GetObjRef(AO_Functor)(VP_LoopLink->mo_Data);
|
||||||
|
|
||||||
|
VP_LoopLink = VP_LoopLink->mp_NextLink ;
|
||||||
|
}/*
|
||||||
|
__for0(TypeSize, i, ml_Size)*/
|
||||||
|
}/*
|
||||||
|
template<typename TFunctor> void IterElement(TFunctor AO_Functor) */
|
||||||
|
|
||||||
|
template<typename TFunctor, typename TTypeHelp>
|
||||||
|
void IterElement(TFunctor AO_Functor, TTypeHelp AO_TypeHelp)
|
||||||
|
{
|
||||||
|
typedef ZNsMain::
|
||||||
|
ZtCCheckRef<TTypeHelp> ZCCheckRef;
|
||||||
|
|
||||||
|
ZCLink* VP_LoopLink=mp_HeadLink;
|
||||||
|
|
||||||
|
__for0(TypeSize, i, ml_LinkCnt)
|
||||||
|
{
|
||||||
|
ZtCTypeData<TFunctor>::GetObjRef(AO_Functor)
|
||||||
|
(
|
||||||
|
VP_LoopLink->mo_Data, ZCCheckRef::PassData(AO_TypeHelp)
|
||||||
|
);
|
||||||
|
////////////////////////////////////////////
|
||||||
|
|
||||||
|
VP_LoopLink = VP_LoopLink->mp_NextLink ;
|
||||||
|
}/*
|
||||||
|
__for0(TypeSize, i, ml_Size)*/
|
||||||
|
}/*
|
||||||
|
template<typename TFunctor, typename TTypeHelp>
|
||||||
|
void IterElement(TFunctor AO_Functor, TTypeHelp AO_TypeHelp) */
|
||||||
|
|
||||||
|
|
||||||
|
template
|
||||||
|
<typename TFunctor, typename TTypeHelp1, typename TTypeHelp2> /*###########*/
|
||||||
|
void IterElement
|
||||||
|
(
|
||||||
|
TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2
|
||||||
|
)
|
||||||
|
/*#############################################################################*/
|
||||||
|
{
|
||||||
|
typedef ZNsMain::ZtCCheckRef<TTypeHelp1> ZCCheckRef1;
|
||||||
|
typedef ZNsMain::ZtCCheckRef<TTypeHelp2> ZCCheckRef2;
|
||||||
|
|
||||||
|
ZCLink* VP_LoopLink=mp_HeadLink;
|
||||||
|
|
||||||
|
__for0(TypeSize, i, ml_LinkCnt)
|
||||||
|
{
|
||||||
|
ZtCTypeData<TFunctor>::GetObjRef(AO_Functor)
|
||||||
|
(
|
||||||
|
VP_LoopLink->mo_Data
|
||||||
|
, ZCCheckRef1::PassData(AO_TypeHelp1)
|
||||||
|
, ZCCheckRef2::PassData(AO_TypeHelp2)
|
||||||
|
);
|
||||||
|
////////////////////////////////////////////
|
||||||
|
|
||||||
|
VP_LoopLink = VP_LoopLink->mp_NextLink ;
|
||||||
|
}/*
|
||||||
|
__for0(TypeSize, i, ml_Size)*/
|
||||||
|
}/*
|
||||||
|
template
|
||||||
|
<typename TFunctor, typename TTypeHelp1, typename TTypeHelp2> ###############
|
||||||
|
void IterElement
|
||||||
|
(
|
||||||
|
TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2
|
||||||
|
)
|
||||||
|
###############################################################################*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ZCLink* GetHeadLinkPtr(){return mp_HeadLink;}
|
||||||
|
ZCLink* GetTailLinkPtr(){return mp_TailLink;}
|
||||||
|
|
||||||
|
const ZCLink* GetHeadLinkPtr() const{return mp_HeadLink;}
|
||||||
|
const ZCLink* GetTailLinkPtr() const{return mp_TailLink;}
|
||||||
|
|
||||||
|
|
||||||
|
IterEasy GetHeadIterEasy (){return GetHeadLinkPtr();}
|
||||||
|
IterEasy GetTailIterEasy (){return GetTailLinkPtr();}
|
||||||
|
IterEasyID GetHeadIterEasyID (){return (IterEasyID)GetHeadLinkPtr();}
|
||||||
|
IterEasyID GetTailIterEasyID (){return (IterEasyID)GetTailLinkPtr();}
|
||||||
|
|
||||||
|
IterEasy GetHeadIterEasy () const{return GetHeadLinkPtr();}
|
||||||
|
IterEasy GetTailIterEasy () const{return GetTailLinkPtr();}
|
||||||
|
IterEasyID GetHeadIterEasyID () const{return (IterEasyID)GetHeadLinkPtr();}
|
||||||
|
IterEasyID GetTailIterEasyID () const{return (IterEasyID)GetTailLinkPtr();}
|
||||||
|
|
||||||
|
IterEasyIDc GetHeadIterEasyIDc() const{return (IterEasyIDc)GetHeadLinkPtr();}
|
||||||
|
IterEasyIDc GetTailIterEasyIDc() const{return (IterEasyIDc)GetTailLinkPtr();}
|
||||||
|
|
||||||
|
void MoveNextIter(ZCLink*& APR_CLink ) const
|
||||||
|
{
|
||||||
|
APR_CLink=APR_CLink->GetNextPtr();
|
||||||
|
}
|
||||||
|
void MoveNextIter(IterEasyID& ARRI_IterEasyID) const
|
||||||
|
{
|
||||||
|
MoveNextIter((ZCLink*&)(ARRI_IterEasyID));
|
||||||
|
}
|
||||||
|
void MoveNextIter(const ZCLink*& APR_CLink ) const
|
||||||
|
{
|
||||||
|
APR_CLink=APR_CLink->GetNextPtr();
|
||||||
|
}
|
||||||
|
void MoveNextIter(IterEasyIDc& ARRI_IterEasyID) const
|
||||||
|
{
|
||||||
|
MoveNextIter((const ZCLink*&)(ARRI_IterEasyID));
|
||||||
|
}/*
|
||||||
|
void MoveNextIter(IterEasyIDc& ARRI_IterEasyID) const*/
|
||||||
|
|
||||||
|
TypeData& GetDataInIter(ZCLink* AP_CLink ){return **AP_CLink ;}
|
||||||
|
TypeData& GetDataInIter(IterEasyID ARRI_IterEasyID)
|
||||||
|
{ return GetDataInIter((ZCLink*)ARRI_IterEasyID); }
|
||||||
|
|
||||||
|
const TypeData& GetDataInIter(const ZCLink* AP_CLink) const
|
||||||
|
{
|
||||||
|
return **AP_CLink;
|
||||||
|
}/*
|
||||||
|
const TypeData& GetDataInIter(const ZCLink* AP_CLink) const*/
|
||||||
|
|
||||||
|
const TypeData& GetDataInIter(IterEasyIDc ARRI_IterEasyID) const
|
||||||
|
{
|
||||||
|
return GetDataInIter((const ZCLink*)ARRI_IterEasyID);
|
||||||
|
}/*
|
||||||
|
const TypeData& GetDataInIter(IterEasyIDc ARRI_IterEasyID) const*/
|
||||||
|
|
||||||
|
|
||||||
|
IterEasy ItHEasy(){return GetHeadIterEasy ();}
|
||||||
|
IterEasy ItTEasy(){return GetTailIterEasy ();}
|
||||||
|
IterEasyID ItHID (){return GetHeadIterEasyID();}
|
||||||
|
IterEasyID ItTID (){return GetTailIterEasyID();}
|
||||||
|
|
||||||
|
IterEasyIDc ItHIDc () const{return GetHeadIterEasyIDc();}
|
||||||
|
IterEasyIDc ItTIDc () const{return GetTailIterEasyIDc();}
|
||||||
|
|
||||||
|
const IterEasy ItHEasy() const{return GetHeadIterEasy ();}
|
||||||
|
const IterEasy ItTEasy() const{return GetTailIterEasy ();}
|
||||||
|
const IterEasyID ItHID () const{return GetHeadIterEasyID ();}
|
||||||
|
const IterEasyID ItTID () const{return GetTailIterEasyID ();}
|
||||||
|
|
||||||
|
void ItNext(ZCLink*& APR_CLink ) const{ APR_CLink=APR_CLink->GetNextPtr() ;}
|
||||||
|
void ItNext(IterEasyID& ARRI_IterEasyID) const{ItNext((ZCLink*&)(ARRI_IterEasyID));}
|
||||||
|
void ItNext(const ZCLink*& APR_CLink ) const{ APR_CLink=APR_CLink->GetNextPtr() ;}
|
||||||
|
void ItNext(IterEasyIDc& ARRI_IterEasyID) const
|
||||||
|
{ ItNext((const ZCLink*&)(ARRI_IterEasyID)); }
|
||||||
|
|
||||||
|
TypeData& ItD(IterEasy AP_CLink ){return GetDataInIter(AP_CLink );}
|
||||||
|
TypeData& ItD(IterEasyID ARRI_IterEasyID ){return GetDataInIter(ARRI_IterEasyID );}
|
||||||
|
TypeData& ItD(ZCLink* AP_CLink , TypeSize AI_FarNum){return GetDataInIter(AP_CLink , AI_FarNum);}
|
||||||
|
TypeData& ItD(IterEasyID ARRI_IterEasyID, TypeSize AI_FarNum){return GetDataInIter(ARRI_IterEasyID, AI_FarNum);}
|
||||||
|
|
||||||
|
const TypeData& ItD(const IterEasy AP_CLink ) const{return GetDataInIter(AP_CLink );}
|
||||||
|
const TypeData& ItD(IterEasyIDc ARRI_IterEasyID ) const{return GetDataInIter(ARRI_IterEasyID );}
|
||||||
|
const TypeData& ItD(const ZCLink* AP_CLink , TypeSize AI_FarNum) const{return GetDataInIter(AP_CLink );}
|
||||||
|
const TypeData& ItD(IterEasyIDc ARRI_IterEasyID, TypeSize AI_FarNum) const{return GetDataInIter(ARRI_IterEasyID, AI_FarNum);}
|
||||||
|
|
||||||
|
public :
|
||||||
|
};/*
|
||||||
|
template ///////////////////////////////////////////////
|
||||||
|
<
|
||||||
|
typename TType,
|
||||||
|
typename TTypeArg = const TType&,
|
||||||
|
typename TTypSize = ZTypLong
|
||||||
|
>
|
||||||
|
class ZtCList /*######################################*/
|
||||||
|
|
||||||
|
|
||||||
namespace ZNsView
|
namespace ZNsView
|
||||||
{
|
{
|
||||||
|
@ -30,14 +30,14 @@ namespace ZNsMain
|
|||||||
/////////////////////////////////////////////////////////////////////////////////////////*/
|
/////////////////////////////////////////////////////////////////////////////////////////*/
|
||||||
|
|
||||||
|
|
||||||
template< typename TType ,
|
template< typename TType ,
|
||||||
typename TTypArg =const TType& ,
|
typename TTypArg = const TType& ,
|
||||||
typename TTypBase =ZNsMain::ZNsIFace::ZtCAVL_BASE <TTypArg> ,
|
typename TTypBase = ZNsMain::ZNsIFace::ZtCAVL_BASE <TTypArg> ,
|
||||||
typename TNodeBase =ZNsMain::ZNsIFace::ZtCAVL_NodeBase<TTypArg> ,
|
typename TNodeBase = ZNsMain::ZNsIFace::ZtCAVL_NodeBase<TTypArg> ,
|
||||||
typename TAlloc =ZNsMain::ZCAllocator ,
|
typename TAlloc = ZNsMain::ZCAllocator ,
|
||||||
typename TSize =ZNsMain::ZTypLong ,
|
typename TSize = ZNsMain::ZTypLong ,
|
||||||
typename TCompare =ZNsMain::ZtCCompare<TTypArg, TTypArg, false> ,
|
typename TCompare = ZNsMain::ZtCCompare<TTypArg, TTypArg, false>,
|
||||||
typename TMoveObj =ZNsMain::ZtCMoveObj<TType , TTypArg, true >
|
typename TMoveObj = ZNsMain::ZtCMoveObj<TType , TTypArg, true >
|
||||||
>
|
>
|
||||||
class ZtCObjAVL : public TTypBase ///////////////////////////////////////////////////////
|
class ZtCObjAVL : public TTypBase ///////////////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
@ -2362,18 +2362,18 @@ namespace ZNsMain
|
|||||||
}/*
|
}/*
|
||||||
else // AP_Node->mi_Balance==-1*/
|
else // AP_Node->mi_Balance==-1*/
|
||||||
}/*
|
}/*
|
||||||
ZCNode* Balance(ZCNode* AP_Node,int AI_AddState)*/
|
ZCNode* Balance(ZCNode* AP_Node, int AI_AddState)*/
|
||||||
|
|
||||||
private:
|
private:
|
||||||
};/*
|
};/*
|
||||||
template< typename TType ,
|
template< typename TType ,
|
||||||
typename TTypArg =const TType& ,
|
typename TTypArg = const TType& ,
|
||||||
typename TTypBase =ZNsMain::ZNsIFace::ZtCAVL_BASE <TTypArg> ,
|
typename TTypBase = ZNsMain::ZNsIFace::ZtCAVL_BASE <TTypArg> ,
|
||||||
typename TNodeBase =ZNsMain::ZNsIFace::ZtCAVL_NodeBase<TTypArg> ,
|
typename TNodeBase = ZNsMain::ZNsIFace::ZtCAVL_NodeBase<TTypArg> ,
|
||||||
typename TAlloc =ZNsMain::ZCAllocator ,
|
typename TAlloc = ZNsMain::ZCAllocator ,
|
||||||
typename TSize =ZNsMain::ZTypLong ,
|
typename TSize = ZNsMain::ZTypLong ,
|
||||||
typename TCompare =ZNsMain::ZtCCompare<TTypArg, TTypArg, false>,
|
typename TCompare = ZNsMain::ZtCCompare<TTypArg, TTypArg, false>,
|
||||||
typename TMoveObj =ZNsMain::ZtCMoveObj<TType , TTypArg, true >
|
typename TMoveObj = ZNsMain::ZtCMoveObj<TType , TTypArg, true >
|
||||||
>
|
>
|
||||||
class ZtCObjAVL /////////////////////////////////////////////////////////////////////*/
|
class ZtCObjAVL /////////////////////////////////////////////////////////////////////*/
|
||||||
|
|
||||||
|
@ -983,8 +983,8 @@ namespace ZNsMain
|
|||||||
|
|
||||||
#endif // _DEBUG
|
#endif // _DEBUG
|
||||||
|
|
||||||
TypeSize VI_LeftDistance = AL_Index-1 ;
|
TypeSize VI_LeftDistance = AL_Index-1 ;
|
||||||
TypeSize VI_RightDistance= ml_Size-AL_Index+1;
|
TypeSize VI_RightDistance= ml_Size -AL_Index+1;
|
||||||
TypeSize VI_ShortDistance=
|
TypeSize VI_ShortDistance=
|
||||||
(VI_LeftDistance<=VI_RightDistance ? VI_LeftDistance : -VI_RightDistance);
|
(VI_LeftDistance<=VI_RightDistance ? VI_LeftDistance : -VI_RightDistance);
|
||||||
|
|
||||||
@ -2130,7 +2130,7 @@ namespace ZNsMain
|
|||||||
void ItNext(ZCLink*& APR_CLink ) const{ APR_CLink=APR_CLink->GetNextPtr() ;}
|
void ItNext(ZCLink*& APR_CLink ) const{ APR_CLink=APR_CLink->GetNextPtr() ;}
|
||||||
void ItNext(iterator& ARR_CIterator ) {++ARR_CIterator;}
|
void ItNext(iterator& ARR_CIterator ) {++ARR_CIterator;}
|
||||||
void ItNext(IterEasyID& ARRI_IterEasyID) const{ItNext((ZCLink*&)(ARRI_IterEasyID));}
|
void ItNext(IterEasyID& ARRI_IterEasyID) const{ItNext((ZCLink*&)(ARRI_IterEasyID));}
|
||||||
void ItNext(const ZCLink*& APR_CLink ) const {APR_CLink=APR_CLink->GetNextPtr() ;}
|
void ItNext(const ZCLink*& APR_CLink ) const{ APR_CLink=APR_CLink->GetNextPtr() ;}
|
||||||
void ItNext(const iterator& ARR_CIterator ) const{++ARR_CIterator;}
|
void ItNext(const iterator& ARR_CIterator ) const{++ARR_CIterator;}
|
||||||
void ItNext(IterEasyIDc& ARRI_IterEasyID) const
|
void ItNext(IterEasyIDc& ARRI_IterEasyID) const
|
||||||
{ ItNext((const ZCLink*&)(ARRI_IterEasyID)); }
|
{ ItNext((const ZCLink*&)(ARRI_IterEasyID)); }
|
||||||
|
Reference in New Issue
Block a user