From 00a1672400be540352015738c339c9dc1c60f075 Mon Sep 17 00:00:00 2001 From: sauron Date: Thu, 28 Aug 2025 21:36:52 +0900 Subject: [PATCH] commit 2025-08-28 21:36 edit a bit ZCppMain/ZtCMainChars.H --- ZCppMain/ZtCMainChars.H | 290 +++++++++++++++++++++++++++--------------------- 1 file changed, 165 insertions(+), 125 deletions(-) diff --git a/ZCppMain/ZtCMainChars.H b/ZCppMain/ZtCMainChars.H index 241382e..5216eb6 100644 --- a/ZCppMain/ZtCMainChars.H +++ b/ZCppMain/ZtCMainChars.H @@ -581,9 +581,12 @@ namespace ZNsMain }/* static int Minus(const ZCChars& AR_CChars1, const ZCChars& AR_CChars2)*/ - static int Minus( - const TypeChar* APC_Left , const TypeChar* APC_Right, - TypeLength AL_LeftLength, TypeLength AL_RightLength ) + static int Minus /*#################################################*/ + ( + const TypeChar* APC_Left , const TypeChar* APC_Right, + TypeLength AL_LeftLength, TypeLength AL_RightLength + ) + /*##################################################################*/ { // 두 문자열이 같으면 0 // 왼쪽 문자열이 크면 0 보다 큰 어떤 수 @@ -595,12 +598,13 @@ namespace ZNsMain }/* if(AL_LeftLength<1 || AL_RightLength<1)*/ - const TypeChar* VP_Left =APC_Left ; - const TypeChar* VP_Right=APC_Right; + const TypeChar* VP_Left = APC_Left ; + const TypeChar* VP_Right= APC_Right ; - TypeLength VL_Index=0; - TypeLength VL_Loop = - (AL_LeftLength<=AL_RightLength ? AL_LeftLength : AL_RightLength) ; + TypeLength VL_Index = 0 ; + TypeLength VL_Loop = + ( AL_LeftLength<=AL_RightLength ? + AL_LeftLength : AL_RightLength ) ; #if(_CODE_OLD_) @@ -636,9 +640,12 @@ namespace ZNsMain return AL_LeftLength-AL_RightLength; }/* - static int Minus( - const TypeChar* APC_Left , const TypeChar* APC_Right, - TypeLength AL_LeftLength, TypeLength AL_RightLength )*/ + static int Minus /*################################################### + ( + const TypeChar* APC_Left , const TypeChar* APC_Right, + TypeLength AL_LeftLength, TypeLength AL_RightLength + ) + ####################################################################*/ static TypeChar* Trim(TypeChar* APC_Char, TypeLength& ARRL_Length) @@ -652,13 +659,15 @@ namespace ZNsMain for(; i=0; --i) { - const bool CB_IsTrue = ( ////////////////////////////////////////// - (VC_Char=*VPC_Char--)!=' ' && - VC_Char!=ZCTypeChars::GetCharOfAnsi('\t') && - VC_Char!=ZCTypeChars::GetCharOfAnsi('\r') && - VC_Char!=ZCTypeChars::GetCharOfAnsi('\n') && - VC_Char!=ZCTypeChars::GetCharOfAnsi('\0') - /*/////////*/ ); ////////////////////////////////////////////////// + const bool CB_IsTrue = ///////////////////////////// + ( + (VC_Char = *VPC_Char--) != ' ' && + VC_Char!=ZCTypeChars::GetCharOfAnsi('\t') && + VC_Char!=ZCTypeChars::GetCharOfAnsi('\r') && + VC_Char!=ZCTypeChars::GetCharOfAnsi('\n') && + VC_Char!=ZCTypeChars::GetCharOfAnsi('\0') + ); + //////////////////////////////////////////////////// - if(CB_IsTrue) break; APC_Char[--ARRL_Length] = ZCTypeChars::GetCharOfAnsi('\0'); + if(CB_IsTrue) break; + + APC_Char[--ARRL_Length] = ZCTypeChars::GetCharOfAnsi('\0'); }/* for(i=ARRL_Length-1; i>=0; --i)*/ @@ -716,10 +729,12 @@ namespace ZNsMain __for1(TypeLength, i, VL_ArrSize) { - const bool CB_IsOK= ZtCMainChars::DoStart( - APC_Origin , ARA_SearchArray.ItD(CI_IterEasyID).data(), - AL_OriginLength, ARA_SearchArray.ItD(CI_IterEasyID).size() - /*//////////*/ ); + const bool CB_IsOK= ZtCMainChars::DoStart + ( + APC_Origin , ARA_SearchArray.ItD(CI_IterEasyID).data(), + AL_OriginLength, ARA_SearchArray.ItD(CI_IterEasyID).size() + ); + /*:::::::::::::::::::::::::::::::::::::*/ if(CB_IsOK) return i; ARA_SearchArray.MoveNextIter(RR(CI_IterEasyID)); }/* @@ -757,10 +772,12 @@ namespace ZNsMain for(TypeLength i=1; i<=VL_ArrSize; ++i) { - const bool CB_IsOK=ZtCMainChars::DoStart( - APC_Origin , ARA_SearchArray.ItD(CI_IterEasyID).data(), - AL_OriginLength, ARA_SearchArray.ItD(CI_IterEasyID).size() - /*//////////*/ ); + const bool CB_IsOK = ZtCMainChars::DoStart + ( + APC_Origin , ARA_SearchArray.ItD(CI_IterEasyID).data(), + AL_OriginLength, ARA_SearchArray.ItD(CI_IterEasyID).size() + ); + /*::::::::::::::::::::::::::::::::::::::*/ if(CB_IsOK) { @@ -953,8 +970,8 @@ namespace ZNsMain if(CB_IsBad) return -1; TypeLength VL_Loop=AL_OriginLength-AL_SearchLength; - TypeLength i =AL_StartPos; - TypeLength j =0 ; + TypeLength i =AL_StartPos ; + TypeLength j =0 ; /*////////////////////////////////////////////////////// @@ -1056,8 +1073,8 @@ namespace ZNsMain if(APC_Origin[i+j] != APC_Search[j]) { VL_MatchLen=0; break; - }/* - //////////////////////////////////*/ + } + /*::::::::::::::::::::::::::::::::*/ ++VL_MatchLen; }/* @@ -1093,7 +1110,7 @@ namespace ZNsMain ( APC_Origin, APC_Search, AL_OriginLen, AL_SearchLen, AL_StartPos ); - /////////////////////////////////////////////// + /*:::::::::::::::::::::::::::::::::::::::::::*/ const bool CB_IsBad = ///////////////////////// ( @@ -1206,38 +1223,44 @@ namespace ZNsMain if(CB_IsBad) return -1; - const bool CB_DoStart = ZtCMainChars::DoStart( - APC_Origin+AL_StartPos , - APC_WrapStart , - AL_OriginLen-AL_StartPos, - AL_WrapStartLen - /*//////////*/ ); //////////////////////////// + const bool CB_DoStart = ZtCMainChars::DoStart + ( + APC_Origin+AL_StartPos , + APC_WrapStart , + AL_OriginLen-AL_StartPos, + AL_WrapStartLen + ); + /*:::::::::::::::::::::::::::::::::::::::::*/ if(CB_DoStart) { - TypeLength VL_WrapClosePos = ZtCMainChars::FindPosEsc( - APC_Origin , - APC_WrapClose , - APC_Escape , - AL_OriginLen , - AL_WrapCloseLen , - AL_EscapeLen , - AL_StartPos+AL_WrapStartLen - /*/////////*/ ); ///////////////////////////////////// + TypeLength VL_WrapClosePos = ZtCMainChars::FindPosEsc + ( + APC_Origin , + APC_WrapClose , + APC_Escape , + AL_OriginLen , + AL_WrapCloseLen , + AL_EscapeLen , + AL_StartPos+AL_WrapStartLen + ); + /*:::::::::::::::::::::::::::::::::::::::::::::::::*/ if(VL_WrapClosePos<0) return -1; // 종료 태그(APC_Close)를 찾았으면 바로 다음에 APC_Search 가 시작되는지 조사한다. - const bool CB_DoStart2 = ZtCMainChars::DoStart( - APC_Origin +VL_WrapClosePos+AL_WrapCloseLen, - APC_Search , - AL_OriginLen-VL_WrapClosePos-AL_WrapCloseLen, - AL_SearchLen - /*//////////*/ ); /////////////////////////////////////////// + const bool CB_DoStart2 = ZtCMainChars::DoStart + ( + APC_Origin +VL_WrapClosePos+AL_WrapCloseLen, APC_Search , + AL_OriginLen-VL_WrapClosePos-AL_WrapCloseLen, AL_SearchLen + ); + /*::::::::::::::::::::::::::::::::::::::::::*/ - if(CB_DoStart2==false) return -1; return VL_WrapClosePos+AL_WrapCloseLen; + if(CB_DoStart2==false) return -1 ; + + return VL_WrapClosePos+AL_WrapCloseLen; }/* if(CB_DoStart) */ @@ -1331,7 +1354,7 @@ namespace ZNsMain if(ZtCMainChars::DoStart(APC_Origin, APC_WrapStart, AL_OriginLen, AL_WrapStartLen)==true) { - TypeLength VL_FindPos=ZtCMainChars::FindPosEsc( + TypeLength VL_FindPos = ZtCMainChars::FindPosEsc( APC_Origin , APC_WrapClose , APC_Escape , @@ -1339,17 +1362,19 @@ namespace ZNsMain AL_WrapCloseLen , AL_EscapeLen , AL_WrapStartLen - /*////////*/ ); /////////////////////////////// + /*////////*/ ); ///////////////////////////////// if(VL_FindPos<0) return -1; - const bool CB_IsOK = ZtCMainChars::GetStartCStrObjNum2( - APC_Origin +VL_FindPos+AL_WrapCloseLen, - AL_OriginLen-VL_FindPos-AL_WrapCloseLen, - ARA_SearchArray , - RR(APR_CStringStart) - /*/////////*/ ) > 0 ; ////////////////////////////////// + const bool CB_IsOK = ZtCMainChars::GetStartCStrObjNum2 + ( + APC_Origin +VL_FindPos+AL_WrapCloseLen, + AL_OriginLen-VL_FindPos-AL_WrapCloseLen, + ARA_SearchArray , + RR(APR_CStringStart) + ) > 0 ; + ////////////////////////////////////////////////////// if(CB_IsOK) return VL_FindPos+AL_WrapCloseLen; return -1; }/* @@ -1357,8 +1382,15 @@ namespace ZNsMain for(TypeLength i=0; i0 ); + const bool CB_IsTrue = + ( + ZtCMainChars::GetStartCStrObjNum2 + ( + APC_Origin+i , AL_OriginLen-i, + ARA_SearchArray, RR(APR_CStringStart) + ) > 0 + ); + ///////////////////////////////////////////////// if(CB_IsTrue) return i; }/* @@ -1395,7 +1427,7 @@ namespace ZNsMain return ZtCMainChars::FindPosEscWrap2( AR_CCharsOrigin.data(), AR_CCharsEscape.data(), AR_CCharsWrapStart.data(), AR_CCharsWrapClose.data(), AR_CCharsOrigin.size(), AR_CCharsEscape.size(), AR_CCharsWrapStart.size(), AR_CCharsWrapClose.size(), ARA_SearchArray, RR(APR_CStringStart) - /*#####*/ ); + /*:::::*/ ); }/* template< typename TTyChars, typename TStringArray, typename TString> @@ -1559,18 +1591,26 @@ namespace ZNsMain do //// { - const bool CB_DoStart = ZtCMainChars::DoStart( - APC_OriginChar+VL_SearchPos, APC_WrapStart, AL_OriginLen-VL_SearchPos, AL_WrapStartLen); + const bool CB_DoStart = ZtCMainChars::DoStart + ( + APC_OriginChar+ VL_SearchPos, APC_WrapStart, + AL_OriginLen - VL_SearchPos, AL_WrapStartLen + ); + ///////////////////////////////////////////// if(CB_DoStart==false) return VL_SearchLen; // APC_WrapStart 로 시작하는 경우 - VL_SearchPos+=AL_WrapStartLen; - VL_SearchLen+=AL_WrapStartLen; + VL_SearchPos += AL_WrapStartLen; + VL_SearchLen += AL_WrapStartLen; - VL_FindPos=ZtCMainChars::FindPos( - APC_OriginChar, APC_WrapClose, AL_OriginLen, AL_WrapStartLen, VL_SearchPos); + VL_FindPos = ZtCMainChars::FindPos + ( + APC_OriginChar, APC_WrapClose , + AL_OriginLen , AL_WrapStartLen, VL_SearchPos + ); + ////////////////////////////////// if(VL_FindPos<0) { @@ -1685,10 +1725,10 @@ namespace ZNsMain if(VB_IsOK==true) { - ARRL_SearchedPos1=AL_OriginLen1-VL_MatchLen - ; ARRL_SearchedPos2=0 - ; ARRL_SearchedLen1=VL_MatchLen - ; ARRL_SearchedLen2=AL_SearchLength-VL_MatchLen + ARRL_SearchedPos1= AL_OriginLen1-VL_MatchLen + ; ARRL_SearchedPos2= 0 + ; ARRL_SearchedLen1= VL_MatchLen + ; ARRL_SearchedLen2= AL_SearchLength-VL_MatchLen ; return 0; }/* @@ -1697,13 +1737,13 @@ namespace ZNsMain if(VL_MatchLen>0)*/ - ARRL_SearchedPos2=ZtCMainChars::FindPos( + ARRL_SearchedPos2 = ZtCMainChars::FindPos( APC_Origin2 , APC_Search , AL_OriginLen2 , AL_SearchLength , 0 - /*/////////*/ ); /////////////////////// + /*/////////*/ ); ///////////////////////// if(ARRL_SearchedPos2>=0) ARRL_SearchedLen2=AL_SearchLength; @@ -1723,8 +1763,7 @@ namespace ZNsMain TypeLength& ARRL_SearchedLen2 ////////////// ) ///////////////////////////////////////////////*/ - template - static TypeLength FindPosLinear( ///////////////////////////////// + template static TypeLength FindPosLinear( ///// const TTyChars& AR_CCharsOrigin1 , const TTyChars& AR_CCharsOrigin2 , const TTyChars& AR_CCharsSearch , @@ -1740,8 +1779,7 @@ namespace ZNsMain RR(ARRL_SearchedPos1) , RR(ARRL_SearchedPos2) , RR(ARRL_SearchedLen1) , RR(ARRL_SearchedLen2) /*//////////*/ ); }/* - template - static TypeLength FindPosLinear( ///////////////////////////////// + template static TypeLength FindPosLinear( ///// const TTyChars& AR_CCharsOrigin1 , const TTyChars& AR_CCharsOrigin2 , const TTyChars& AR_CCharsSearch , @@ -1855,12 +1893,14 @@ namespace ZNsMain { // 찾는 데이타의 길이는 AR_CCharsOrigin.size() 이 된다. - bool VB_IsOK = ZtCMainChars::DoStart( ////////////////// - VO_CCharsOrigin.data() , - AR_CCharsSearch.data()+VL_ReadyBuffSize, - VO_CCharsOrigin.size() , - VO_CCharsOrigin.size() - /*/////////*/ ); /////////////////////////////////////// + bool VB_IsOK = ZtCMainChars::DoStart /////////// + ( + VO_CCharsOrigin.data() , + AR_CCharsSearch.data()+VL_ReadyBuffSize, + VO_CCharsOrigin.size() , + VO_CCharsOrigin.size() + ); + //////////////////////////////////////////////// if(VB_IsOK==true) { @@ -1962,8 +2002,8 @@ namespace ZNsMain if(VL_FindPos<0) { - ARRL_StartPos = -1; - ARRE_ERun=AR_CReadyExec.OnMeetNormal + ARRL_StartPos = -1 ; + ARRE_ERun = AR_CReadyExec.OnMeetNormal ( VO_CCharsOrigin.data() , VO_CCharsOrigin.size()-VL_MatchLen @@ -2143,21 +2183,22 @@ namespace ZNsMain VO_CCharsOrigin.size() /*/////////*/ ); ////////////////////////////// - TypeLength VL_ValidLen=VO_CCharsOrigin.size()-VL_MatchLen; + TypeLength VL_ValidLen = VO_CCharsOrigin.size()-VL_MatchLen; if(VL_MatchLen>0) { - ARR_CStrReadyBuff.append(VO_CCharsOrigin.data()+VL_ValidLen, VL_MatchLen); + ARR_CStrReadyBuff.append + (VO_CCharsOrigin.data()+VL_ValidLen, VL_MatchLen); } if(VL_ValidLen>0) { - ARRE_ERun=AR_CReadyExec.template OnMeetNormal + ARRE_ERun = AR_CReadyExec.template OnMeetNormal ( VO_CCharsOrigin.data(), VL_ValidLen , ZCCheckRef::PassData(AO_CHelpType) ); - ///////////////////////////////////////////////////////// + /*:::::::::::::::::::::::::::::::::::::::::::::::::::::::*/ }/* if(VL_ValidLen>0)*/ @@ -2179,23 +2220,23 @@ namespace ZNsMain if(VL_ReadyBuffSize>0) { - ARRE_ERun=AR_CReadyExec.template OnMeetReady + ARRE_ERun= AR_CReadyExec.template OnMeetReady ( ARR_CStrReadyBuff.data() , VL_ReadyBuffSize, ZNsMain::ZNsEnum::ZERun_OK, ZCCheckRef::PassData(AO_CHelpType) ); - //////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////// if(ARRE_ERun==ZNsMain::ZNsEnum::ZERun_NO) return true; } //if(VL_ReadyBuffSize>0) - ARRE_ERun=AR_CReadyExec.template OnMeetReady + ARRE_ERun= AR_CReadyExec.template OnMeetReady ( VO_CCharsOrigin.data() , VL_ReadyLen , ZNsMain::ZNsEnum::ZERun_NO, ZCCheckRef::PassData(AO_CHelpType) ); - //////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////// ARRL_StartPos +=VL_ReadyLen; ARR_CStrReadyBuff=""; @@ -2207,13 +2248,13 @@ namespace ZNsMain if(VL_ReadyBuffSize>0) { - ARRE_ERun=AR_CReadyExec.template OnMeetNormal + ARRE_ERun= AR_CReadyExec.template OnMeetNormal ( ARR_CStrReadyBuff.data(), VL_ReadyBuffSize , ZCCheckRef::PassData(AO_CHelpType) ); - ///////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////// ARR_CStrReadyBuff = ""; @@ -2222,24 +2263,24 @@ namespace ZNsMain }/* if(VL_ReadyBuffSize>0)*/ - VL_MatchLen=0; TypeLength VL_FindPos=ZtCMainChars::FindPosLen( + VL_MatchLen=0; TypeLength VL_FindPos= ZtCMainChars::FindPosLen( VO_CCharsOrigin.data(), AR_CCharsSearch.data(), VO_CCharsOrigin.size(), AR_CCharsSearch.size(), RR(VL_MatchLen) - /*/////////*/ ); ///////////////////////////////////////////// + /*/////////*/ ); ////////////////////////////////////////////// if(VL_FindPos<0) { - ARRL_StartPos=-1; - ARRE_ERun=AR_CReadyExec.template OnMeetNormal + ARRL_StartPos= -1 ; + ARRE_ERun = AR_CReadyExec.template OnMeetNormal ( VO_CCharsOrigin.data() , VO_CCharsOrigin.size()-VL_MatchLen, ZCCheckRef::PassData(AO_CHelpType) ); - ///////////////////////////////////////////////////////// + /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ ARR_CStrReadyBuff.append ( VO_CCharsOrigin.data() + @@ -2266,12 +2307,12 @@ namespace ZNsMain }/* if(VL_FindPos>0)*/ - ARRE_ERun=AR_CReadyExec.template OnMeetReady + ARRE_ERun = AR_CReadyExec.template OnMeetReady ( VO_CCharsOrigin.data()+VL_FindPos, AR_CCharsSearch.size(), ZNsMain::ZNsEnum::ZERun_NO , ZCCheckRef::PassData(AO_CHelpType) ); - ARRL_StartPos+=(VL_FindPos+AR_CCharsSearch.size()); return true; + ARRL_StartPos += (VL_FindPos+AR_CCharsSearch.size()); return true; }/* template< typename TReadyExec , typename TTyChars, typename TStringData, typename THelpType> //////////// @@ -2447,13 +2488,14 @@ namespace ZNsMain ); ////////////////////////////////// - ARR_CStrReadyBuff=""; + ARR_CStrReadyBuff = ""; if(VB_IsOK==true) { - ARRL_ValidReady =0; - ARRL_ValidLen =0; - ARRL_StartPos +=AR_CCharsSearch.size()-VL_ReadyBuffSize; + ARRL_ValidReady = 0 ; + ARRL_ValidLen = 0 ; + ARRL_StartPos += + AR_CCharsSearch.size() - VL_ReadyBuffSize; return true; }/* @@ -2476,7 +2518,7 @@ namespace ZNsMain { ARRL_ValidLen = AR_CCharsOrigin.size()-VL_MatchLen-ARRL_StartPos ; - ARRL_StartPos = -1; + ARRL_StartPos = -1 ; ARR_CStrReadyBuff.append( VO_CCharsOrigin.data()+ARRL_ValidLen, VL_MatchLen); return false; @@ -2502,8 +2544,7 @@ namespace ZNsMain ///////////////////////////////////////////*/ - template - static bool FindPosReadyValid( /////////////////////////////////// + template static bool FindPosReadyValid( //////// TypeCharC* AP_CharOrigin , TypeCharC* AP_CharSearch , TypeLength AL_OriginLen , @@ -2514,17 +2555,16 @@ namespace ZNsMain TypeLength& ARRL_ValidLen /*//////////*/ ) ///////////////////////////////////////////////*/ { - return FindPosReadyValid( ///////////////////////////////// + return FindPosReadyValid( //:::::::::::::::::::::::::::::::::: ZCChars(AP_CharOrigin, AL_OriginLen), ZCChars(AP_CharSearch, AL_SearchLen), RR(ARR_CStrReadyBuff) , ARRL_StartPos , ARRL_ValidReady , ARRL_ValidLen - /*/////////*/ ); ////////////////////////////////////////// + /*:::::::::*/ ); //::::::::::::::::::::::::::::::::::::::::::: }/* - template - static bool FindPosReadyValid( /////////////////////////////////// + template static bool FindPosReadyValid( //////// TypeCharC* AP_CharOrigin , TypeCharC* AP_CharSearch , TypeLength AL_OriginLen , @@ -2745,7 +2785,7 @@ namespace ZNsMain template static void SplitEach( TFunctor AO_Functor, const TTyChars& AR_CCharsOrigin , const TTyChars& AR_CCharsSearch, bool AB_DoExecNull=true) { - ZtCMainChars::template SplitEach( + ZtCMainChars::template SplitEach( ///////// AO_Functor, AR_CCharsOrigin.data(), AR_CCharsSearch.data(), AR_CCharsOrigin.size(), AR_CCharsSearch.size(),