From 6d4556236eaae1749098f8c2eff904e104ee2a16 Mon Sep 17 00:00:00 2001 From: sauron Date: Sun, 19 Oct 2025 16:29:16 +0900 Subject: [PATCH] commit 2025-10-19 16:28 add ZCtDataRing::IterHead() & IterTail() etc : ZCppMain/ZMainHead.H --- ZCppMain/ZMainHead.H | 189 ++++++++++++++++++++++++++++++++++++++++++ ZCppMainTest/c++_test_006.cpp | 18 ++++ 2 files changed, 207 insertions(+) diff --git a/ZCppMain/ZMainHead.H b/ZCppMain/ZMainHead.H index 00df8df..46391a4 100644 --- a/ZCppMain/ZMainHead.H +++ b/ZCppMain/ZMainHead.H @@ -815,6 +815,21 @@ namespace ZNsMain + template void ZftPrint(const TDataNow& AR_Data) + { + cout< void ZftPrint2 + (const TDataNow1& AR_Data1, const TDataNow2& AR_Data2) + { + cout< void IterThis (TFunctor AO_Functor) + { + if(TypeSelf::ZEUseIteHead<1) return; + + TypeLink* VP_NowLink = &GetHead() ; + TypeSize VL_LinkSize = size() + 1 ; + + __for0(TypeSize, i, VL_LinkSize) + { + ZtCTypeData:: + GetObjRef(AO_Functor)(VP_NowLink->GetData()); + + VP_NowLink = &VP_NowLink->GetNext(); + }/* + __for0(TypeSize, i, VL_LinkSize)*/ + }/* + template void IterThis (TFunctor AO_Functor)*/ + template void IterThisRev(TFunctor AO_Functor) + { + if(TypeSelf::ZEUseIteTail<1) return; + + TypeLink* VP_NowLink = &GetTail() ; + TypeSize VL_LinkSize= size() + 1 ; + + __for0(TypeSize, i, VL_LinkSize) + { + ZtCTypeData:: + GetObjRef(AO_Functor)(VP_NowLink->GetData()); + + VP_NowLink = &VP_NowLink->GetPrev(); + }/* + __for0(TypeSize, i, VL_LinkSize)*/ + }/* + template void IterThisRev(TFunctor AO_Functor)*/ + template void IterHead (TFunctor AO_Functor) + { + if(TypeSelf::ZEUseIteHead<1) return; + + TypeLink* VP_NowLink = &this->GetNext(); + TypeSize VL_LinkSize = size() ; + + __for0(TypeSize, i, VL_LinkSize) + { + ZtCTypeData:: + GetObjRef(AO_Functor)(VP_NowLink->GetData()); + + VP_NowLink = &VP_NowLink->GetNext(); + }/* + __for0(TypeSize, i, VL_LinkSize)*/ + }/* + template void IterHead (TFunctor AO_Functor)*/ + template void IterTail (TFunctor AO_Functor) + { + if(TypeSelf::ZEUseIteTail<1) return ; + + TypeLinkC* VP_NowLink = &this->GetTail(); + TypeSize VL_LinkSize= size() ; + + __for0(TypeSize, i, VL_LinkSize) + { + ZtCTypeData:: + GetObjRef(AO_Functor)(VP_NowLink->GetData()); + + VP_NowLink = &VP_NowLink->GetPrev(); + }/* + __for0(TypeSize, i, VL_LinkSize)*/ + }/* + template void IterTail (TFunctor AO_Functor)*/ + + + template + void IterThis (TFunctor AO_Functor, TTypeHelp AO_TypeHelp) + { + if(TypeSelf::ZEUseIteHead<1){return;} + + typedef ZNsMain:: + ZtCCheckRef ZCCheckRef ; + + TypeLink* VP_NowLink = &this->GetHead() ; + TypeSize VL_LinkSize= size() + 1 ; + + __for0(TypeSize, i, VL_LinkSize) + { + ZtCTypeData::GetObjRef(AO_Functor) + ( + VP_NowLink->GetData(), ZCCheckRef::PassData(AO_TypeHelp) + ); + VP_NowLink = &VP_NowLink->GetNext(); /////// + }/* + __for0(TypeSize, i, VL_LinkSize)*/ + }/* + template + void IterThis (TFunctor AO_Functor, TTypeHelp AO_TypeHelp)*/ + + template + void IterThisRev(TFunctor AO_Functor, TTypeHelp AO_TypeHelp) + { + if(TypeSelf::ZEUseIteTail<1){return;} + + typedef ZNsMain:: + ZtCCheckRef ZCCheckRef ; + + TypeLink* VP_NowLink = &this->GetTail() ; + TypeSize VL_LinkSize= size() + 1 ; + + __for0(TypeSize, i, VL_LinkSize) + { + ZtCTypeData::GetObjRef(AO_Functor) + ( + VP_NowLink->GetData(), ZCCheckRef::PassData(AO_TypeHelp) + ); + VP_NowLink = &VP_NowLink->GetPrev(); /////// + }/* + __for0(TypeSize, i, VL_LinkSize)*/ + }/* + template + void IterThisRev(TFunctor AO_Functor, TTypeHelp AO_TypeHelp)*/ + + + template + void IterHead(TFunctor AO_Functor, TTypeHelp AO_TypeHelp) + { + if(TypeSelf::ZEUseIteHead<1){return;} + + typedef ZNsMain:: + ZtCCheckRef ZCCheckRef ; + + TypeLink* VP_NowLink = &this->GetNext() ; + TypeSize VL_LinkSize= size() ; + + __for0(TypeSize, i, VL_LinkSize) + { + ZtCTypeData::GetObjRef(AO_Functor) + ( + VP_NowLink->GetData(), ZCCheckRef::PassData(AO_TypeHelp) + ); + VP_NowLink = &VP_NowLink->GetNext(); /////// + }/* + __for0(TypeSize, i, VL_LinkSize)*/ + }/* + template + void IterHead(TFunctor AO_Functor, TTypeHelp AO_TypeHelp)*/ + + template + void IterTail(TFunctor AO_Functor, TTypeHelp AO_TypeHelp) + { + if(TypeSelf::ZEUseIteTail<1){return;} + + typedef ZNsMain:: + ZtCCheckRef ZCCheckRef ; + + TypeLink* VP_NowLink = &this->GetTail() ; + TypeSize VL_LinkSize= size() ; + + __for0(TypeSize, i, VL_LinkSize) + { + ZtCTypeData::GetObjRef(AO_Functor) + ( + VP_NowLink->GetData(), ZCCheckRef::PassData(AO_TypeHelp) + ); + VP_NowLink = &VP_NowLink->GetPrev(); /////// + }/* + __for0(TypeSize, i, VL_LinkSize)*/ + }/* + template + void IterTail(TFunctor AO_Functor, TTypeHelp AO_TypeHelp)*/ + + + public : };/* template //////////////////////////////////////////////////////////////// diff --git a/ZCppMainTest/c++_test_006.cpp b/ZCppMainTest/c++_test_006.cpp index fc91ac8..fbe60da 100644 --- a/ZCppMainTest/c++_test_006.cpp +++ b/ZCppMainTest/c++_test_006.cpp @@ -196,6 +196,24 @@ namespace ZNsMain cout<<"# VO_CDataRing Size = "< ZCViewRing;