commit 2025-08-28 21:36 edit a bit ZCppMain/ZtCMainChars.H
This commit is contained in:
@ -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<ARRL_Length; ++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;
|
||||
}/*
|
||||
@ -684,15 +693,19 @@ namespace ZNsMain
|
||||
|
||||
for(i=ARRL_Length-1; 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; i<AL_OriginLen; ++i)
|
||||
{
|
||||
const bool CB_IsTrue=(ZtCMainChars::GetStartCStrObjNum2(
|
||||
APC_Origin+i, AL_OriginLen-i, ARA_SearchArray, RR(APR_CStringStart) )>0 );
|
||||
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<typename TTyChars>
|
||||
static TypeLength FindPosLinear( /////////////////////////////////
|
||||
template<typename TTyChars> 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<typename TTyChars>
|
||||
static TypeLength FindPosLinear( /////////////////////////////////
|
||||
template<typename TTyChars> 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<TypeObject>
|
||||
ARRE_ERun = AR_CReadyExec.template OnMeetNormal<TypeObject>
|
||||
(
|
||||
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<TypeObject>
|
||||
ARRE_ERun= AR_CReadyExec.template OnMeetReady<TypeObject>
|
||||
(
|
||||
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<TypeObject>
|
||||
ARRE_ERun= AR_CReadyExec.template OnMeetReady<TypeObject>
|
||||
(
|
||||
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<TypeObject>
|
||||
ARRE_ERun= AR_CReadyExec.template OnMeetNormal<TypeObject>
|
||||
(
|
||||
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<TypeObject>
|
||||
ARRL_StartPos= -1 ;
|
||||
ARRE_ERun = AR_CReadyExec.template OnMeetNormal<TypeObject>
|
||||
(
|
||||
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<TypeObject>
|
||||
ARRE_ERun = AR_CReadyExec.template OnMeetReady<TypeObject>
|
||||
(
|
||||
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<typename TString>
|
||||
static bool FindPosReadyValid( ///////////////////////////////////
|
||||
template<typename TString> 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<typename TString>
|
||||
static bool FindPosReadyValid( ///////////////////////////////////
|
||||
template<typename TString> static bool FindPosReadyValid( ////////
|
||||
TypeCharC* AP_CharOrigin ,
|
||||
TypeCharC* AP_CharSearch ,
|
||||
TypeLength AL_OriginLen ,
|
||||
@ -2745,7 +2785,7 @@ namespace ZNsMain
|
||||
template<typename TFunctor, typename TTyChars> static void SplitEach(
|
||||
TFunctor AO_Functor, const TTyChars& AR_CCharsOrigin , const TTyChars& AR_CCharsSearch, bool AB_DoExecNull=true)
|
||||
{
|
||||
ZtCMainChars::template SplitEach<TFunctor,TTyChars>(
|
||||
ZtCMainChars::template SplitEach<TFunctor, TTyChars>( /////////
|
||||
AO_Functor,
|
||||
AR_CCharsOrigin.data(), AR_CCharsSearch.data(),
|
||||
AR_CCharsOrigin.size(), AR_CCharsSearch.size(),
|
||||
|
Reference in New Issue
Block a user