commit 2025-10-12 00:58 add ZtCObjList::mp_TailLink : ZCppMain/ZtCObjList.H

This commit is contained in:
2025-10-12 00:58:51 +09:00
parent a46afc5865
commit 8f8ddb9460
3 changed files with 1382 additions and 1623 deletions

View File

@ -6331,14 +6331,6 @@ namespace ZNsMain
}/* }/*
_VT_ ZCLink* SendFreeOut() const*/ _VT_ ZCLink* SendFreeOut() const*/
_VT_ ZCLink* SendFreeOut(TypeArg AO_ArgData) const
{
if(TTypeCRTP::ZEUseCRTP<1)
{ return NewLink(AO_ArgData); }
return GetChildObj().SendFreeOut(AO_ArgData);
}/*
_VT_ ZCLink* SendFreeOut(TypeArg AO_ArgData) const*/
_VT_ void SendFreeOut _VT_ void SendFreeOut
(TypeSize AL_NeedCnt, ZCLink*& APR_HeadLink, ZCLink*& APR_TailLink) const (TypeSize AL_NeedCnt, ZCLink*& APR_HeadLink, ZCLink*& APR_TailLink) const
@ -6848,7 +6840,7 @@ namespace ZNsMain
#if(_CODE_NEW_) #if(_CODE_NEW_)
if(TypeMoveObj::ZEUseMoveObj>0) //////////////////// if(TypeMoveObj::ZEUseMoveObj>0) ////////////////////
{ {
ZCLink* VP_NewNode = SendFreeOut(AO_ArgData); ZCLink* VP_NewNode = SendFreeOut();
TypeMoveObj::Exec(**VP_NewNode, AO_ArgData); TypeMoveObj::Exec(**VP_NewNode, AO_ArgData);
@ -6865,7 +6857,7 @@ namespace ZNsMain
#if(_CODE_NEW_) #if(_CODE_NEW_)
if(TypeMoveObj::ZEUseMoveObj>0) //////////////////// if(TypeMoveObj::ZEUseMoveObj>0) ////////////////////
{ {
ZCLink* VP_NewNode = SendFreeOut(AO_ArgData); ZCLink* VP_NewNode = SendFreeOut();
TypeMoveObj::Exec(*VP_NewNode, AO_ArgData); TypeMoveObj::Exec(*VP_NewNode, AO_ArgData);
@ -7950,7 +7942,6 @@ namespace ZNsMain
const ZCLink& TailRef(TypeSize AI_Distance) const{return (*mp_TailLink)-AI_Distance;} const ZCLink& TailRef(TypeSize AI_Distance) const{return (*mp_TailLink)-AI_Distance;}
ZCLinkOpt HeadOpt(){return ZCLinkOpt(mp_HeadLink);} ZCLinkOpt HeadOpt(){return ZCLinkOpt(mp_HeadLink);}
ZCLinkOpt TailOpt(){return ZCLinkOpt(mp_TailLink);} ZCLinkOpt TailOpt(){return ZCLinkOpt(mp_TailLink);}
@ -7981,6 +7972,70 @@ namespace ZNsMain
const ZCLink& _0(TypeSize AI_Distance) const{return TailRef(AI_Distance);} const ZCLink& _0(TypeSize AI_Distance) const{return TailRef(AI_Distance);}
ZCDataOpt GetDataOpt(TypeSize AI_Index) // 1부터 시작.
{
return DataOpt(AI_Index-1);
}/*
ZCDataOpt GetDataOpt(TypeSize AI_Index)*/
const ZCDataOpt GetDataOpt(TypeSize AI_Index) const
{
return DataOpt(AI_Index-1);
}/*
const ZCDataOpt GetDataOpt(TypeSize AI_Index) const*/
ZCDataOpt DataOpt(TypeSize AI_Index) // 1부터
{
if(mp_HeadLink==0){return ZCDataOpt(0);}
return ZCDataOpt(**HeadPtr(AI_Index-1));
}/*
ZCDataOpt DataOpt(TypeSize AI_Index)*/
const ZCDataOpt DataOpt(TypeSize AI_Index) const
{
if(mp_HeadLink==0){return ZCDataOpt(0);}
return ZCDataOpt(**HeadPtr(AI_Index-1));
}/*
const ZCDataOpt DataOpt(TypeSize AI_Index) const*/
ZCDataOpt DataOptHead(TypeSize AI_Distance=0)
{
if(mp_HeadLink==0){return ZCDataOpt(0);}
return ZCDataOpt(**HeadPtr(AI_Distance));
}/*
ZCDataOpt DataOptHead(TypeSize AI_Distance=0)*/
ZCDataOpt DataOptTail(TypeSize AI_Distance=0)
{
if(mp_HeadLink==0){return ZCDataOpt(0);}
return ZCDataOpt(**TailPtr(AI_Distance));
}/*
ZCDataOpt DataOptTail(TypeSize AI_Distance=0)*/
const ZCDataOpt DataOptHead(TypeSize AI_Distance=0) const
{
if(mp_HeadLink==0){return ZCDataOpt(0);}
return ZCDataOpt(**HeadPtr(AI_Distance));
}/*
const ZCDataOpt DataOptHead(TypeSize AI_Distance=0) const*/
const ZCDataOpt DataOptTail(TypeSize AI_Distance=0) const
{
if(mp_HeadLink==0){return ZCDataOpt(0);}
return ZCDataOpt(**TailPtr(AI_Distance));
}/*
const ZCDataOpt DataOptTail(TypeSize AI_Distance=0) const*/
/***/ ZCLinkOpt GetLinkOpt(TypeSize AI_Index) /***/ ZCLinkOpt GetLinkOpt(TypeSize AI_Index)
{ if(mp_HeadLink==0) return ZCLinkOpt(0); return ZCLinkOpt(GetLinkPtr(AI_Index)); } { if(mp_HeadLink==0) return ZCLinkOpt(0); return ZCLinkOpt(GetLinkPtr(AI_Index)); }
const ZCLinkOpt GetLinkOpt(TypeSize AI_Index) const const ZCLinkOpt GetLinkOpt(TypeSize AI_Index) const

File diff suppressed because it is too large Load Diff

View File

@ -117,8 +117,8 @@ namespace ZNsMain
CStringList1 VO_ListOfStr10 ; CStringList1 VO_ListOfStr10 ;
CStringList2 VO_ListOfStr20 ; CStringList2 VO_ListOfStr20 ;
ZCDataOpt1 VO_ZCDataOpt1 = VO_ListOfStr10.GetHeadDataOpt() ; ZCDataOpt1 VO_ZCDataOpt1 = VO_ListOfStr10.HeadOptD() ;
ZCLinkOpt1 VO_ZCLinkOpt1 = VO_ListOfStr10.GetTailLinkOpt() ; ZCLinkOpt1 VO_ZCLinkOpt1 = VO_ListOfStr10.TailOpt() ;
if(bool(VO_ZCDataOpt1)) if(bool(VO_ZCDataOpt1))
cout<<"# VO_ListOfStr10's head data : " <<*VO_ZCDataOpt1<<endl; cout<<"# VO_ListOfStr10's head data : " <<*VO_ZCDataOpt1<<endl;
@ -136,8 +136,8 @@ namespace ZNsMain
cout<<"# VO_CStringBase data : " <<VO_CStringBase<<endl; cout<<"# VO_CStringBase data : " <<VO_CStringBase<<endl;
VO_ZCDataOpt1 = VO_ListOfStr10.GetHeadDataOpt() ; VO_ZCDataOpt1 = VO_ListOfStr10.HeadOptD() ;
VO_ZCLinkOpt1 = VO_ListOfStr10.GetTailLinkOpt() ; VO_ZCLinkOpt1 = VO_ListOfStr10.TailOpt() ;
if(bool(VO_ZCDataOpt1)) if(bool(VO_ZCDataOpt1))
cout<<"# VO_ListOfStr10's head data : " <<*VO_ZCDataOpt1<<endl; cout<<"# VO_ListOfStr10's head data : " <<*VO_ZCDataOpt1<<endl;