From 0c436c267f20a9c6bbced8cf0bd786b4a409aa84 Mon Sep 17 00:00:00 2001 From: sauron Date: Sun, 24 Aug 2025 00:21:09 +0900 Subject: [PATCH] commit 2025-08-24 00:20 add and test ZCppMainTest/ZtCLoadXml_000.cpp --- ZCppMain/ZMainHead.H | 8 +- ZCppMain/ZMainHeadEx.H | 27 +++--- ZCppMain/ZtCLoadXml.H | 142 ----------------------------- ZCppMain/ZtCMainChars.H | 49 +++++----- ZCppMain/ZtCObjAVL.H | 6 +- ZCppMain/ZtCTreeData.H | 16 ++-- ZCppMainTest/ZtCLoadXml_000.cpp | 196 ++++++++++++++++++++++++++++++++++++++++ 7 files changed, 251 insertions(+), 193 deletions(-) create mode 100644 ZCppMainTest/ZtCLoadXml_000.cpp diff --git a/ZCppMain/ZMainHead.H b/ZCppMain/ZMainHead.H index bcf7f05..52fd88a 100644 --- a/ZCppMain/ZMainHead.H +++ b/ZCppMain/ZMainHead.H @@ -578,14 +578,14 @@ namespace ZNsMain typedef unsigned __int64 ZTypULength; #else typedef long ZTypLength ; - typedef unsigend long ZTypULen ; - typedef unsigend long ZTypULength ; + typedef unsigned long ZTypULen ; + typedef unsigned long ZTypULength ; #endif #else // !defined(__CPU_BIT_CNT__) || __CPU_BIT_CNT__<64 typedef long ZTypLength ; - typedef unsigend long ZTypULen ; - typedef unsigend long ZTypULength ; + typedef unsigned long ZTypULen ; + typedef unsigned long ZTypULength ; #endif // !defined(__CPU_BIT_CNT__) || __CPU_BIT_CNT__<64 diff --git a/ZCppMain/ZMainHeadEx.H b/ZCppMain/ZMainHeadEx.H index 8775797..6cc885e 100644 --- a/ZCppMain/ZMainHeadEx.H +++ b/ZCppMain/ZMainHeadEx.H @@ -4117,7 +4117,10 @@ namespace ZNsMain using namespace ZNsMain::ZNsChars ; using ZNsMain::ZNsConst::CPC_DirDelimiter ; - ZTypLength VL_FindPos=ZtCMainChars::FindPosFromEnd + typedef ZNsChars::ZNsType:: + ZtCTypeChars ZCTypeChars ; + + ZTypLength VL_FindPos = ZCTypeChars::FindPosFromEnd ( APC_PathName, CPC_DirDelimiter, AI_Length, 1 ) ; if(VL_FindPos<0) @@ -6084,12 +6087,12 @@ namespace ZNsMain }/* void SetHandle(int AI_FileHandle)*/ - void Init(int AI_FileHandle, std::LLong ALL_Offset=0) + void Init(int AI_FileHandle, ZNsMain::ZTypLong ALL_Offset=0) { this->aio_fildes=AI_FileHandle; this->aio_offset=ALL_Offset ; }/* - void Init(int AI_FileHandle, std::LLong ALL_Offset=0)*/ + void Init(int AI_FileHandle, ZNsMain::ZTypLong ALL_Offset=0)*/ int Read(volatile char* AP_Buffer, int AI_BufSize) { @@ -6876,13 +6879,13 @@ namespace ZNsMain bool GetInfo(int AI_Resource) { - ::getrlimit(AI_Resource, this)==0; + return ::getrlimit(AI_Resource, this)==0; }/* bool GetInfo(int AI_Resource)*/ void SetInfo(int AI_Resource) { - ::setrlimit(AI_Resource, this)==0; + return ::setrlimit(AI_Resource, this)==0; }/* void SetInfo(int AI_Resource)*/ @@ -7029,12 +7032,12 @@ namespace ZNsMain // 이때 mi_HeadPos, mi_TailPos 에 유효한 값이 들어있다. - int VI_EmptyBuffCnt=0; - ::iovec* VP_IOBuff =mo_IOBuff+mi_HeadPos; + int VI_EmptyBuffCnt= 0 ; + ::iovec* VP_IOBuff = mo_IOBuff+mi_HeadPos; for(int i=mi_HeadPos; i<=mi_TailPos; ++i) { - if(AL_Length>=std::IntI(VP_IOBuff->iov_len)) + if(AL_Length>=ZNsMain::ZTypInt(VP_IOBuff->iov_len)) { AL_Length -= VP_IOBuff->iov_len; ml_AllLen -= VP_IOBuff->iov_len; @@ -7048,10 +7051,10 @@ namespace ZNsMain if(AL_Length<=0) { return VI_EmptyBuffCnt; - }/* - if(AL_Length<=0)*/ + } + //////////////// } - else // AL_Lengthiov_len) + else // AL_Lengthiov_len) { if(APL_LastInvalidByte!=0) *APL_LastInvalidByte=AL_Length; @@ -7062,7 +7065,7 @@ namespace ZNsMain return VI_EmptyBuffCnt; }/* - else // AL_Lengthiov_len)*/ + else // AL_Lengthiov_len)*/ ++VP_IOBuff; }/* diff --git a/ZCppMain/ZtCLoadXml.H b/ZCppMain/ZtCLoadXml.H index 145b064..2ed5067 100644 --- a/ZCppMain/ZtCLoadXml.H +++ b/ZCppMain/ZtCLoadXml.H @@ -4073,148 +4073,6 @@ namespace ZNsMain > class ZtCLoadXml //////////////////////////////////////////*/ - - namespace ZNsExam - { - - template class ZtExamLoadXml - { - public: - - static int Main(int AI_ArgCnt=0, const char* APP_ArgVal[]=0) - { - typedef ZNsMain::ZtCStringBase ZCStringData ; - - typedef ZNsMain::ZNsViewIFace::ZNsExam::ZtCViewLoadXml< - ZCStringData - /*/////////*/ > ZCViewLoadXml; //////////////////////// - typedef ZNsMain::ZNsType::ZtCTypeXmlInfo< - ZCStringData - /*/////////*/ > ZCTypeXmlInfo; //////////////////////// - - typedef ZNsMain::ZtCXmlInfo ZCXmlInfo; - typedef ZNsMain::ZNsView::ZtCViewLoadXmlOfXmlInfo< - ZCXmlInfo - /*/////////*/ > ZCViewLoadXmlOfXmlInfo; /////////////// - typedef ZNsMain::ZtCLoadXml ZCLoadXml; - - - const char* CPC_XmlData1= - "\n" - "\n" - "\n" - "]>\n" - "\n" - "ele1 data \n" - "ele2 data\n" - "<요소3 prop1= \"prop1 value\" prop2 = \"prop2 value\" >" - " MyData" - " \n" - " \n" - " \n" - "\nele4 data\n" - "\n" - ;;;;;;;;;;;;;;;;;;;;;;;; - - - const char* CPC_XmlDataOfID= - "\n" - "\n" - "\n" - "\n" - "]>\n" - "\n" - "\n" - " \n" - "\n" - " \n" - "\n" - " \n" - "\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - "\n" - "\n"; - /*const char* CPC_XmlDataOfID=*/ - - - ZCViewLoadXml VO_CViewLoadXml; - ZCLoadXml VO_CLoadXml ; - - VO_CLoadXml.Exec(VO_CViewLoadXml, CPC_XmlData1, ZNsMain::ZftLength(CPC_XmlData1)); - VO_CLoadXml.Exec(VO_CViewLoadXml, CPC_XmlData2, ZNsMain::ZftLength(CPC_XmlData2)); - - - cout< class ZtExamLoadXml*/ - - public: - };/* - template class ZtExamLoadXml*/ - - - }/* - namespace ZNsExam*/ - }/* namespace ZNsMain*/ diff --git a/ZCppMain/ZtCMainChars.H b/ZCppMain/ZtCMainChars.H index 5f806d5..fe298f7 100644 --- a/ZCppMain/ZtCMainChars.H +++ b/ZCppMain/ZtCMainChars.H @@ -2030,8 +2030,8 @@ namespace ZNsMain ########################################################################################*/ - typedef ZNsMain::ZtCCheckRef ZCCheckRef ; - typedef ZCCheckRef::TypeData TypeObject ; + typedef ZNsMain::ZtCCheckRef ZCCheckRef ; + typedef typename ZCCheckRef::TypeData TypeObject ; ZCChars VO_CCharsOrigin (AR_CCharsOrigin.data(), AR_CCharsOrigin.size()); @@ -2251,18 +2251,20 @@ namespace ZNsMain ) /////////////////////////////////////////////////////////////////*/ { - typedef ZNsMain::ZtCCheckRef ZCCheckRef ; - typedef ZCCheckRef::TypeData TypeObject ; + typedef ZNsMain::ZtCCheckRef ZCCheckRef ; + typedef typename ZCCheckRef::TypeData TypeObject ; - return FindPosReady( - AR_CReadyExec , - ZCCheckRef::PassData(AO_CHelpType) , - ZCChars(AP_OriginData, AL_OriginLen), - ZCChars(AP_SearchData, AL_SearchLen), - ARR_CStrReadyBuff , - ARRL_StartPos , // AP_OriginData 의 offset 이다. - ARRE_ERun - /*/////*/ ); ///////////////////////////////////////////////////// + return FindPosReady + ( + AR_CReadyExec , + ZCCheckRef::PassData(AO_CHelpType) , + ZCChars(AP_OriginData, AL_OriginLen), + ZCChars(AP_SearchData, AL_SearchLen), + ARR_CStrReadyBuff , + ARRL_StartPos , // AP_OriginData 의 offset 이다. + ARRE_ERun + ); + //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% }/* template @@ -4365,22 +4367,21 @@ namespace ZNsMain for(TypeLength i=0; i ARA_SearchArray.ItD(CI_IterEasyID).size() - ); - VL_NowSize = - ( - CB_IsOK ? ARA_SearchArray.ItD(CI_IterEasyID).size() : AL_Length - ); - //////////// + const TypeLength CI_NewSize = + ARA_SearchArray.ItD(CI_IterEasyID).size() ; - const bool CB_IsOK=ZtCMainChars::DoStart + VL_NowSize = ///////////////////////////// + ( + AL_Length > CI_NewSize ? CI_NewSize : AL_Length + ); + ////////////////////////////////////////// + + const bool CB_IsOK = ZtCMainChars::DoStart ( APC_Origin, ARA_SearchArray.ItD(CI_IterEasyID).data(), AL_Length , ARA_SearchArray.ItD(CI_IterEasyID).size() ); - if(CB_IsOK) return 0; ////////////////// + if(CB_IsOK) return 0; //////////////////// ARA_SearchArray.MoveNextIter(RR(CI_IterEasyID)); }/* diff --git a/ZCppMain/ZtCObjAVL.H b/ZCppMain/ZtCObjAVL.H index 25cd521..06dca1e 100644 --- a/ZCppMain/ZtCObjAVL.H +++ b/ZCppMain/ZtCObjAVL.H @@ -852,14 +852,14 @@ namespace ZNsMain ZtCObjAVL& operator=(const ZtCObjAVL& rhs) { - if(this==&rhs) {return ;} + if(this==&rhs) {return *this;} - DeleteAll(); if(rhs.mp_HeadNode==0){ return; } + DeleteAll(); if(rhs.mp_HeadNode==0){ return *this;} ZCNode* VP_Temp=rhs.mp_HeadNode; ZCNode* VP_Tail=rhs.mp_HeadNode->mp_PrevNode; - do /**/ + do ////// { AddData(VP_Temp->mo_Type); diff --git a/ZCppMain/ZtCTreeData.H b/ZCppMain/ZtCTreeData.H index b01f069..bf1bd30 100644 --- a/ZCppMain/ZtCTreeData.H +++ b/ZCppMain/ZtCTreeData.H @@ -240,7 +240,7 @@ namespace ZNsMain { const bool CB_DoStop = ( - ((ZCNodeList&)mo_CNodeList).ItD(VO_iter_Node). + ((ZCNodeList&)mo_CNodeList).ItD(VO_iter_Node).template IterPreOrder (AR_CViewClass, AI_StartDepth, i) == ZNsMain::ZNsEnum::ZERun_NO @@ -285,7 +285,7 @@ namespace ZNsMain { const bool CB_DoStop = ( - ((ZCNodeList&)mo_CNodeList).ItD(VO_iter_Node). + ((ZCNodeList&)mo_CNodeList).ItD(VO_iter_Node).template IterPostOrder(AR_CViewClass, AI_StartDepth, i) == ZNsMain::ZNsEnum::ZERun_NO ); @@ -446,13 +446,13 @@ namespace ZNsMain template void IterPreOrder(TViewClass& AR_CViewClass) { - mo_RootNode.IterPreOrder(AR_CViewClass, 0, 0); + mo_RootNode.template IterPreOrder(AR_CViewClass, 0, 0); }/* template void IterPreOrder(TViewClass& AR_CViewClass) */ template void IterPostOrder(TViewClass& AR_CViewClass) { - mo_RootNode.IterPostOrder(AR_CViewClass, 0, 0); + mo_RootNode.template IterPostOrder(AR_CViewClass, 0, 0); }/* template void IterPostOrder(TViewClass& AR_CViewClass) */ @@ -715,7 +715,7 @@ namespace ZNsMain const bool CB_DoStop = /////////////////////////////// ( ((ZCNodeList&)mo_CNodeList).ItD(VO_iter_Node). - IterPreOrder + template IterPreOrder (AR_CViewClass, AI_StartDepth. i) == ZNsMain::ZNsEnum::ZERun_NO ); @@ -767,7 +767,7 @@ namespace ZNsMain const bool CB_DoStop = //////////////////////////////// ( ((ZCNodeList&)mo_CNodeList). - ItD(VO_iter_Node).IterPostOrder + ItD(VO_iter_Node).template IterPostOrder (AR_CViewClass, AI_StartDepth, i) == ZNsMain::ZNsEnum::ZERun_NO ); @@ -936,9 +936,9 @@ namespace ZNsMain void clear (){mo_RootNode.clear();} template void IterPreOrder (TViewClass AO_CViewClass) - { mo_RootNode.IterPreOrder(AO_CViewClass, 0); } + { mo_RootNode.template IterPreOrder(AO_CViewClass, 0); } template void IterPostOrder(TViewClass AO_CViewClass) - { mo_RootNode.IterPostOrder(AO_CViewClass, 0); } + { mo_RootNode.template IterPostOrder(AO_CViewClass, 0); } public: };/* diff --git a/ZCppMainTest/ZtCLoadXml_000.cpp b/ZCppMainTest/ZtCLoadXml_000.cpp new file mode 100644 index 0000000..bb0f200 --- /dev/null +++ b/ZCppMainTest/ZtCLoadXml_000.cpp @@ -0,0 +1,196 @@ + + +#include "ZCppMain/ZtCLoadXml.H" + + +namespace ZNsMain +{ + + namespace ZNsExam + { + + template class ZtExamLoadXml + { + public: + + static int Main(int AI_ArgCnt=0, const char* APP_ArgVal[]=0) + { + typedef ZNsMain::ZtCStringBase ZCStringData ; + + typedef ZNsMain::ZNsViewIFace::ZNsExam::ZtCViewLoadXml< + ZCStringData + /*/////////*/ > ZCViewLoadXml; //////////////////////// + typedef ZNsMain::ZNsType::ZtCTypeXmlInfo< + ZCStringData + /*/////////*/ > ZCTypeXmlInfo; //////////////////////// + + typedef ZNsMain::ZtCXmlInfo ZCXmlInfo; + typedef ZNsMain::ZNsView::ZtCViewLoadXmlOfXmlInfo< + ZCXmlInfo + /*/////////*/ > ZCViewLoadXmlOfXmlInfo; /////////////// + typedef ZNsMain::ZtCLoadXml ZCLoadXml; + + + const char* CPC_XmlData1= + "\n" + "\n" + "\n" + "]>\n" + "\n" + "ele1 data \n" + "ele2 data\n" + "<요소3 prop1= \"prop1 value\" prop2 = \"prop2 value\" >" + " MyData" + " \n" + " \n" + " \n" + "\nele4 data\n" + "\n" + ;;;;;;;;;;;;;;;;;;;;;;;; + + + const char* CPC_XmlDataOfID= + "\n" + "\n" + "\n" + "\n" + "]>\n" + "\n" + "\n" + " \n" + "\n" + " \n" + "\n" + " \n" + "\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + "\n" + "\n"; + /*const char* CPC_XmlDataOfID=*/ + + + ZCViewLoadXml VO_CViewLoadXml; + ZCLoadXml VO_CLoadXml ; + + VO_CLoadXml.Exec(VO_CViewLoadXml, CPC_XmlData1, ZNsMain::ZftLength(CPC_XmlData1)); + VO_CLoadXml.Exec(VO_CViewLoadXml, CPC_XmlData2, ZNsMain::ZftLength(CPC_XmlData2)); + + + cout< class ZtExamLoadXml*/ + + }/* + namespace ZNsExam*/ + +}/* +namespace ZNsMain*/ + + +int main(int AR_ArgCnt, char* APP_ArgVal[]) +{ + return ZNsMain::ZNsExam::ZtExamLoadXml<>::Main(); +}/* +int main(int AR_ArgCnt, char* APP_ArgVal[])*/ + + +/*//////////////////////////////////////////////////////////////////////////////////////// + +■ cigwin 컴파일 + + // g++ -mno-cygwin -o ZtCLoadXml_000.exe ZtCLoadXml_000.cpp -I../../my_CPP/CPP_Main/ -I../../my_CPP/CPP_Std/ -D__CYGWIN32__ -D__VISUAL_CPP_VER__=200300 + // g++ -mno-cygwin -o ZtCLoadXml_000_D.exe ZtCLoadXml_000.cpp -I../../my_CPP/CPP_Main/ -I../../my_CPP/CPP_Std/ -D__CYGWIN32__ -D__VISUAL_CPP_VER__=200300 -D_DEBUG + +■ mingw 컴파일 + + // /usr/local/mingw/bin/g++.exe -o ZtCLoadXml_000.exe ZtCLoadXml_000.cpp -I../../my_CPP/CPP_Main/ -I../../my_CPP/CPP_Std/ -D__CYGWIN32__ -D__VISUAL_CPP_VER__=200300 + // /usr/local/mingw/bin/g++.exe -o ZtCLoadXml_000_D.exe ZtCLoadXml_000.cpp -I../../my_CPP/CPP_Main/ -I../../my_CPP/CPP_Std/ -D__CYGWIN32__ -D__VISUAL_CPP_VER__=200300 -D_DEBUG + +■ Linux 컴파일 + + // g++ -o ZtCLoadXml_000.exe ZtCLoadXml_000.cpp -I../../my_CPP/CPP_Main/ -I../../my_CPP/CPP_Std/ + // g++ -o ZtCLoadXml_000_D.exe ZtCLoadXml_000.cpp -I../../my_CPP/CPP_Main/ -I../../my_CPP/CPP_Std/ -D_DEBUG + +■ Ubuntu 컴파일 + + g++ -o ZtCLoadXml_000.exe ZtCLoadXml_000.cpp -I../ + g++ -o ZtCLoadXml_000_D.exe ZtCLoadXml_000.cpp -I../ -D_DEBUG + + sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ gcc --version + gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 + Copyright (C) 2019 Free Software Foundation, Inc. + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ date + Sun Aug 24 00:05:51 DST 2025 + +■ 실행 + + ./ZtCLoadXml_000.exe + ./ZtCLoadXml_000_D.exe + +////////////////////////////////////////////////////////////////////////////////////////*/