commit 2025-10-18 10:56 delete class template in ZNsTmplChain : ZCppMain/ZMainHead.H
This commit is contained in:
@ -4006,7 +4006,6 @@ namespace ZNsMain
|
|||||||
|
|
||||||
namespace ZNsTmplChain
|
namespace ZNsTmplChain
|
||||||
{
|
{
|
||||||
|
|
||||||
/*////////////////////////////////////////////////////////////
|
/*////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
■ ZtCTmplChain<> 와 유사한 인터페이스를 이용하여, 마치 chain
|
■ ZtCTmplChain<> 와 유사한 인터페이스를 이용하여, 마치 chain
|
||||||
@ -4023,207 +4022,6 @@ namespace ZNsMain
|
|||||||
-- 2011-08-06 23:51:00
|
-- 2011-08-06 23:51:00
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////*/
|
////////////////////////////////////////////////////////////*/
|
||||||
|
|
||||||
template< typename TTypeNow, typename TTypeNext
|
|
||||||
>
|
|
||||||
class ZtCTmplChain //////////////////////////////
|
|
||||||
{
|
|
||||||
public :
|
|
||||||
typedef TTypeNow ZCObjNow ;
|
|
||||||
typedef TTypeNext ZCObjNext;
|
|
||||||
public :
|
|
||||||
enum{ZENextObjNo =ZCObjNext::ENextObjNo+1};
|
|
||||||
enum{ZEBoolNextObj=1 };
|
|
||||||
private:
|
|
||||||
TTypeNow mo_ZCObjNow ;
|
|
||||||
TTypeNext mo_ZCObjNext;
|
|
||||||
public :
|
|
||||||
ZCObjNow & GetNowObj () {return mo_ZCObjNow ;}
|
|
||||||
ZCObjNext& GetNextObj() {return mo_ZCObjNext;}
|
|
||||||
/*#########################################################*/
|
|
||||||
const ZCObjNow & GetNowObj () const{return mo_ZCObjNow ;}
|
|
||||||
const ZCObjNext& GetNextObj() const{return mo_ZCObjNext;}
|
|
||||||
public:
|
|
||||||
};/*
|
|
||||||
template< typename TTypeNow, typename TTypeNext
|
|
||||||
>
|
|
||||||
class ZtCTmplChain ////////////////////////////*/
|
|
||||||
|
|
||||||
|
|
||||||
template<typename TTypeNow> class ZtCTmplChain<TTypeNow, ZCEmpty>
|
|
||||||
{
|
|
||||||
public :
|
|
||||||
typedef TTypeNow ZCObjNow ;
|
|
||||||
typedef TTypeNow ZCObjNext;
|
|
||||||
public :
|
|
||||||
enum{ZENextObjNo =1};
|
|
||||||
enum{ZEBoolNextObj=0};
|
|
||||||
private:
|
|
||||||
ZCObjNow mo_ZCObjNow;
|
|
||||||
public :
|
|
||||||
ZCObjNow& GetNowObj () {return mo_ZCObjNow;}
|
|
||||||
ZCObjNext& GetNextObj() {return mo_ZCObjNow;}
|
|
||||||
/*########################################################*/
|
|
||||||
const ZCObjNow& GetNowObj () const{return mo_ZCObjNow;}
|
|
||||||
const ZCObjNext& GetNextObj() const{return mo_ZCObjNow;}
|
|
||||||
public:
|
|
||||||
};/*
|
|
||||||
template<typename TTypeNow> class ZtCTmplChain<TTypeNow, ZCEmpty> */
|
|
||||||
|
|
||||||
|
|
||||||
/*//////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
■ ZtCTmplTreeChain<> 와 유사한 인터페이스를 이용하여, 마치 chain 의 tree 처럼
|
|
||||||
호출하는 구조를 갖는 클래스를, ZtCTmplChain<> 와 같은 namespace 에 둔다.
|
|
||||||
|
|
||||||
-- 2011-10-04 00:46:00
|
|
||||||
|
|
||||||
일종의 2진 트리 형태인데, GetNextObj2() 멤버로 호출하는 노드를 따라서 먼저
|
|
||||||
처리를 끝내는지, 아니면 GetNextObj() 멤버로 호출하는 노드를 따라서 먼저 처리할
|
|
||||||
것인지는 경우에 따라 다르다. 일반적으로는 GetNextObj2() 멤버로 호출하는 노드를
|
|
||||||
따라서 먼저 처리를 하는 것으로 정한다.
|
|
||||||
|
|
||||||
-- 2011-10-04 21:01:00
|
|
||||||
|
|
||||||
사용례는 CMainChars.H 의
|
|
||||||
|
|
||||||
TTypeLength CSearchCursor_T<>::GetLengthByTmplTreeChain(~)
|
|
||||||
|
|
||||||
함수를 참고한다.
|
|
||||||
|
|
||||||
-- 2011-10-04 00:53:00
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////*/
|
|
||||||
|
|
||||||
template< typename TTypeNow ,
|
|
||||||
typename TTypeNext ,
|
|
||||||
typename TTypeNext2
|
|
||||||
>
|
|
||||||
class ZtCTmplTreeChain /////////
|
|
||||||
{
|
|
||||||
public :
|
|
||||||
enum{ZENextObjNo =TTypeNext ::ENextObjNo +1};
|
|
||||||
enum{ZENextObjNo2 =TTypeNext2::ENextObjNo2+1};
|
|
||||||
enum{ZEBoolNextObj =1};
|
|
||||||
enum{ZEBoolNextObj2=1};
|
|
||||||
enum{ZEObjChainCnt =TTypeNext::EObjChainCnt+TTypeNext2::EObjChainCnt+2};
|
|
||||||
public :
|
|
||||||
typedef TTypeNow ZCObjNow ;
|
|
||||||
typedef TTypeNext ZCObjNext ;
|
|
||||||
typedef TTypeNext2 ZCObjNext2;
|
|
||||||
private:
|
|
||||||
ZCObjNow mo_ZCObjNow ;
|
|
||||||
ZCObjNext mo_ZCObjNext ;
|
|
||||||
ZCObjNext2 mo_ZCObjNext2;
|
|
||||||
public :
|
|
||||||
ZCObjNow& GetNowObj () {return mo_ZCObjNow ;}
|
|
||||||
ZCObjNext& GetNextObj () {return mo_ZCObjNext ;}
|
|
||||||
ZCObjNext2& GetNextObj2() {return mo_ZCObjNext2;}
|
|
||||||
/*########################################################*/
|
|
||||||
const ZCObjNow& GetNowObj () const{return mo_ZCObjNow ;}
|
|
||||||
const ZCObjNext& GetNextObj () const{return mo_ZCObjNext ;}
|
|
||||||
const ZCObjNext2& GetNextObj2() const{return mo_ZCObjNext2;}
|
|
||||||
public :
|
|
||||||
};/*
|
|
||||||
template< typename TTypeNow ,
|
|
||||||
typename TTypeNext ,
|
|
||||||
typename TTypeNext2
|
|
||||||
>
|
|
||||||
class ZtCTmplTreeChain ///////*/
|
|
||||||
|
|
||||||
|
|
||||||
template< typename TTypeNow, typename TTypeNext
|
|
||||||
>
|
|
||||||
class ZtCTmplTreeChain<TTypeNow, TTypeNext, ZCEmpty>
|
|
||||||
{
|
|
||||||
public :
|
|
||||||
enum{ZENextObjNo =TTypeNext::ENextObjNo +1};
|
|
||||||
enum{ZENextObjNo2 =0 };
|
|
||||||
enum{ZEBoolNextObj =1 };
|
|
||||||
enum{ZEBoolNextObj2=0 };
|
|
||||||
enum{ZEObjChainCnt =TTypeNext::EObjChainCnt+1};
|
|
||||||
public :
|
|
||||||
typedef TTypeNow ZCObjNow ;
|
|
||||||
typedef TTypeNext ZCObjNext ;
|
|
||||||
typedef TTypeNext ZCObjNext2; // interface 호환을 위해서만 존재.
|
|
||||||
private:
|
|
||||||
ZCObjNow mo_ZCObjNow ;
|
|
||||||
ZCObjNext mo_ZCObjNext;
|
|
||||||
public :
|
|
||||||
ZCObjNow& GetNowObj () {return mo_ZCObjNow ;}
|
|
||||||
ZCObjNext& GetNextObj () {return mo_ZCObjNext;}
|
|
||||||
ZCObjNext2& GetNextObj2() {return mo_ZCObjNext;} // interface 호환을 위해서만 존재.
|
|
||||||
/*#######################################################*/
|
|
||||||
const ZCObjNow& GetNowObj () const{return mo_ZCObjNow ;}
|
|
||||||
const ZCObjNext& GetNextObj () const{return mo_ZCObjNext;}
|
|
||||||
const ZCObjNext2& GetNextObj2() const{return mo_ZCObjNext;} // interface 호환을 위해서만 존재.
|
|
||||||
public :
|
|
||||||
};/*
|
|
||||||
template< typename TTypeNow, typename TTypeNext
|
|
||||||
>
|
|
||||||
class ZtCTmplTreeChain<TTypeNow, TTypeNext, ZCEmpty> */
|
|
||||||
|
|
||||||
template< typename TTypeNow, typename TTypeNext2
|
|
||||||
>
|
|
||||||
class ZtCTmplTreeChain<TTypeNow, ZCEmpty, TTypeNext2>
|
|
||||||
{
|
|
||||||
public :
|
|
||||||
enum{ZENextObjNo =0 };
|
|
||||||
enum{ZENextObjNo2 =TTypeNext2::ENextObjNo2 +1 };
|
|
||||||
enum{ZEBoolNextObj =0 };
|
|
||||||
enum{ZEBoolNextObj2=1 };
|
|
||||||
enum{ZEObjChainCnt =TTypeNext2::EObjChainCnt+1 };
|
|
||||||
public :
|
|
||||||
typedef TTypeNow ZCObjNow ;
|
|
||||||
typedef TTypeNext2 ZCObjNext ; // interface 호환을 위해서만 존재.
|
|
||||||
typedef TTypeNext2 ZCObjNext2;
|
|
||||||
private:
|
|
||||||
ZCObjNow mo_ZCObjNow ;
|
|
||||||
ZCObjNext2 mo_ZCObjNext2;
|
|
||||||
public :
|
|
||||||
ZCObjNow& GetNowObj () {return mo_ZCObjNow ;}
|
|
||||||
ZCObjNext& GetNextObj () {return mo_ZCObjNext2;} // interface 호환을 위해서만 존재.
|
|
||||||
ZCObjNext2& GetNextObj2() {return mo_ZCObjNext2;}
|
|
||||||
/*########################################################*/
|
|
||||||
const ZCObjNow& GetNowObj () const{return mo_ZCObjNow ;}
|
|
||||||
const ZCObjNext& GetNextObj () const{return mo_ZCObjNext2;} // interface 호환을 위해서만 존재.
|
|
||||||
const ZCObjNext2& GetNextObj2() const{return mo_ZCObjNext2;}
|
|
||||||
public :
|
|
||||||
};/*
|
|
||||||
template< typename TTypeNow , typename TTypeNext2
|
|
||||||
>
|
|
||||||
class ZtCTmplTreeChain<TTypeNow, ZCEmpty, TTypeNext2> */
|
|
||||||
|
|
||||||
template< typename TTypeNow ////////////////////
|
|
||||||
>
|
|
||||||
class ZtCTmplTreeChain<TTypeNow, ZCEmpty, ZCEmpty>
|
|
||||||
{
|
|
||||||
public :
|
|
||||||
enum{ZENextObjNo =0};
|
|
||||||
enum{ZENextObjNo2 =0};
|
|
||||||
enum{ZEBoolNextObj =0};
|
|
||||||
enum{ZEBoolNextObj2=0};
|
|
||||||
enum{ZEObjChainCnt =1};
|
|
||||||
public :
|
|
||||||
typedef TTypeNow ZCObjNow ;
|
|
||||||
typedef ZCObjNow ZCObjNext ; // interface 호환을 위해서만 존재.
|
|
||||||
typedef ZCObjNow ZCObjNext2; // interface 호환을 위해서만 존재.
|
|
||||||
private:
|
|
||||||
ZCObjNow mo_ZCObjNow;
|
|
||||||
public :
|
|
||||||
ZCObjNow& GetNowObj () {return mo_ZCObjNow;}
|
|
||||||
ZCObjNext& GetNextObj () {return mo_ZCObjNow;} // interface 호환을 위해서만 존재.
|
|
||||||
ZCObjNext2& GetNextObj2() {return mo_ZCObjNow;} // interface 호환을 위해서만 존재.
|
|
||||||
/*######################################################*/
|
|
||||||
const ZCObjNow& GetNowObj () const{return mo_ZCObjNow;} // interface 호환을 위해서만 존재.
|
|
||||||
const ZCObjNext& GetNextObj () const{return mo_ZCObjNow;} // interface 호환을 위해서만 존재.
|
|
||||||
const ZCObjNext2& GetNextObj2() const{return mo_ZCObjNow;} // interface 호환을 위해서만 존재.
|
|
||||||
public :
|
|
||||||
};/*
|
|
||||||
template< typename TTypeNow ////////////////////
|
|
||||||
>
|
|
||||||
class ZtCTmplTreeChain<TTypeNow, ZCEmpty, ZCEmpty>
|
|
||||||
*/
|
|
||||||
}/*
|
}/*
|
||||||
namespace ZNsTmplChain*/
|
namespace ZNsTmplChain*/
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user