commit 2025-08-24 00:58 edit a bit ZCppMain/ZtCMainChars.H
This commit is contained in:
@ -2383,7 +2383,7 @@ namespace ZNsMain
|
||||
if(VL_MatchLen>0) ARR_CStrReadyBuff.append
|
||||
(VO_CCharsOrigin.data()+ARRL_ValidLen, VL_MatchLen);
|
||||
|
||||
return false;
|
||||
return false; //////
|
||||
}/*
|
||||
if(VL_ReadyBuffSize+AR_CCharsOrigin.size()<AR_CCharsSearch.size())*/
|
||||
|
||||
@ -2540,13 +2540,15 @@ namespace ZNsMain
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////*/
|
||||
|
||||
static TypeLength GetStartLength( ////////////////////////////////
|
||||
TypeCharC* APC_Origin ,
|
||||
TypeCharC* APC_Search ,
|
||||
TypeLength AL_OriginLen,
|
||||
TypeLength AL_SearchLen,
|
||||
TypeLength AL_SearchOffset=0
|
||||
/*//////////*/ ) ///////////////////////////////////////////////*/
|
||||
static TypeLength GetStartLength /*#############################*/
|
||||
(
|
||||
TypeCharC* APC_Origin ,
|
||||
TypeCharC* APC_Search ,
|
||||
TypeLength AL_OriginLen,
|
||||
TypeLength AL_SearchLen,
|
||||
TypeLength AL_SearchOffset=0
|
||||
)
|
||||
/*##############################################################*/
|
||||
{
|
||||
const bool CB_IsBad =
|
||||
(AL_OriginLen<1 || AL_SearchLen<1 || AL_SearchLen-AL_SearchOffset<1) ;
|
||||
@ -2555,30 +2557,36 @@ namespace ZNsMain
|
||||
|
||||
if(AL_OriginLen<AL_SearchLen-AL_SearchOffset)
|
||||
{
|
||||
const bool CB_IsOK=ZtCMainChars::DoStart(
|
||||
APC_Origin, APC_Search+AL_SearchOffset,
|
||||
AL_OriginLen, AL_OriginLen
|
||||
/*/////////*/ );
|
||||
const bool CB_IsOK = ZtCMainChars::DoStart
|
||||
(
|
||||
APC_Origin, APC_Search+AL_SearchOffset,
|
||||
AL_OriginLen, AL_OriginLen
|
||||
);
|
||||
//////////////////////////////////////////
|
||||
|
||||
if(CB_IsOK==false) return 0; return AL_OriginLen;
|
||||
}/*
|
||||
if(AL_OriginLen<AL_SearchLen-AL_SearchOffset)*/
|
||||
|
||||
|
||||
const bool CB_IsOK=ZtCMainChars::DoStart(
|
||||
APC_Origin, APC_Search +AL_SearchOffset,
|
||||
AL_OriginLen, AL_SearchLen-AL_SearchOffset
|
||||
/*/////////*/ );
|
||||
const bool CB_IsOK = ZtCMainChars::DoStart
|
||||
(
|
||||
APC_Origin, APC_Search +AL_SearchOffset,
|
||||
AL_OriginLen, AL_SearchLen-AL_SearchOffset
|
||||
);
|
||||
//////////////////////////////////////////
|
||||
|
||||
if(CB_IsOK==false) return 0; return AL_SearchLen-AL_SearchOffset;
|
||||
}/*
|
||||
TypeLength GetStartLength( ///////////////////////////////////////
|
||||
TypeCharC* APC_Origin ,
|
||||
TypeCharC* APC_Search ,
|
||||
TypeLength AL_OriginLen,
|
||||
TypeLength AL_SearchLen,
|
||||
TypeLength AL_SearchOffset=0
|
||||
////////////// ) ///////////////////////////////////////////////*/
|
||||
TypeLength GetStartLength ########################################
|
||||
(
|
||||
TypeCharC* APC_Origin ,
|
||||
TypeCharC* APC_Search ,
|
||||
TypeLength AL_OriginLen,
|
||||
TypeLength AL_SearchLen,
|
||||
TypeLength AL_SearchOffset=0
|
||||
)
|
||||
/*##############################################################*/
|
||||
|
||||
template<typename TTyChars> static TypeLength GetStartLength(
|
||||
const TTyChars& AR_CCharsOrigin, const TTyChars& AR_CCharsSearch, TypeLength AL_SearchOffset=0)
|
||||
@ -2607,7 +2615,8 @@ namespace ZNsMain
|
||||
{
|
||||
ZtCTypeData<TFunctor>::GetObjRef(AO_Functor)
|
||||
(APC_OriginChar, AL_OriginLen, ++VI_SearchCount);
|
||||
return;
|
||||
|
||||
return; ////////////////////////////////////
|
||||
}/*
|
||||
if(AL_SearchLen<1)*/
|
||||
|
||||
@ -2938,8 +2947,8 @@ namespace ZNsMain
|
||||
if(AL_OriginLen<1 || AL_OriginLen<AL_SearchLen)
|
||||
{
|
||||
return ARR_SaveList;
|
||||
}/*
|
||||
if(AL_OriginLen<1 || AL_OriginLen<AL_SearchLen)*/
|
||||
}
|
||||
/*///////////////////////////////////////////*/
|
||||
|
||||
TypeLength VL_PrevSize =ARR_SaveList.size();
|
||||
TypeLength VL_SearchPos=0;
|
||||
@ -2949,12 +2958,17 @@ namespace ZNsMain
|
||||
|
||||
while(VL_SearchPos<AL_OriginLen)
|
||||
{
|
||||
VL_SearchLen += ZtCMainChars::GetWrapLen(
|
||||
APC_OriginChar+VL_SearchPos, APC_WrapStart , APC_WrapClose,
|
||||
AL_OriginLen -VL_SearchPos, AL_WrapStartLen, AL_WrapCloseLen );
|
||||
VL_FindPos = ZtCMainChars::FindPos (
|
||||
APC_OriginChar, APC_SearchChar, AL_OriginLen,
|
||||
AL_SearchLen , VL_SearchPos+VL_SearchLen ) ;
|
||||
VL_SearchLen += ZtCMainChars::GetWrapLen
|
||||
(
|
||||
APC_OriginChar+VL_SearchPos, APC_WrapStart , APC_WrapClose,
|
||||
AL_OriginLen -VL_SearchPos, AL_WrapStartLen, AL_WrapCloseLen
|
||||
);
|
||||
VL_FindPos = ZtCMainChars::FindPos
|
||||
(
|
||||
APC_OriginChar, APC_SearchChar, AL_OriginLen,
|
||||
AL_SearchLen , VL_SearchPos+VL_SearchLen
|
||||
) ;
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
if(VL_FindPos<1)
|
||||
{
|
||||
@ -3062,7 +3076,8 @@ namespace ZNsMain
|
||||
TStringArray& ARA_SearchArray
|
||||
/*//////////*/ ) ///////////////////////////////////////////////*/
|
||||
{
|
||||
typedef typename TStringList::TypeData CStringData;
|
||||
typedef typename
|
||||
TStringList::TypeData CStringData;
|
||||
|
||||
CStringData* VP_CStringStart=0;
|
||||
|
||||
@ -3072,18 +3087,20 @@ namespace ZNsMain
|
||||
|
||||
while(VL_SearchPos<AL_OriginLen)
|
||||
{
|
||||
VL_FindPos=ZtCMainChars::FindPosEscWrap(
|
||||
APC_Origin+VL_SearchPos ,
|
||||
APC_Escape ,
|
||||
APC_WrapStart ,
|
||||
APC_WrapClose ,
|
||||
AL_OriginLen-VL_SearchPos,
|
||||
AL_EscapeLen ,
|
||||
AL_WrapStartLen ,
|
||||
AL_WrapCloseLen ,
|
||||
ARA_SearchArray ,
|
||||
RR(VP_CStringStart)
|
||||
/*/////////*/ );
|
||||
VL_FindPos = ZtCMainChars::FindPosEscWrap
|
||||
(
|
||||
APC_Origin+VL_SearchPos ,
|
||||
APC_Escape ,
|
||||
APC_WrapStart ,
|
||||
APC_WrapClose ,
|
||||
AL_OriginLen-VL_SearchPos,
|
||||
AL_EscapeLen ,
|
||||
AL_WrapStartLen ,
|
||||
AL_WrapCloseLen ,
|
||||
ARA_SearchArray ,
|
||||
RR(VP_CStringStart)
|
||||
);
|
||||
/////////////////////////////////////////
|
||||
|
||||
if(VL_FindPos<0)
|
||||
{
|
||||
@ -3105,7 +3122,7 @@ namespace ZNsMain
|
||||
}/*
|
||||
if(VL_FindPos>0)*/
|
||||
|
||||
VL_SearchPos+=VL_FindPos+VP_CStringStart->size();
|
||||
VL_SearchPos += VL_FindPos + VP_CStringStart->size();
|
||||
}/*
|
||||
while(VL_SearchPos<AL_OriginLen)*/
|
||||
|
||||
@ -3353,8 +3370,8 @@ namespace ZNsMain
|
||||
for(j=0; j<AL_SearchLen; ++j)
|
||||
{
|
||||
if(*VP_Left++ != *VP_Right++) break;
|
||||
}/*
|
||||
for(j=0; j<AL_SearchLen; ++j)*/
|
||||
}
|
||||
/*/////////////////////////*/
|
||||
|
||||
if(j>=AL_SearchLen) return i+AL_SearchLen;
|
||||
|
||||
@ -3397,11 +3414,13 @@ namespace ZNsMain
|
||||
|
||||
for(TypeLength i=0; i<VL_ArrSize; ++i)
|
||||
{
|
||||
VL_NowSize=ZtCMainChars::GetLength_Find(
|
||||
APC_Origin, AL_OriginLen,
|
||||
ARA_SearchArray.ItD(CI_IterEasyID).data(),
|
||||
ARA_SearchArray.ItD(CI_IterEasyID).size()
|
||||
/*/////////*/ );
|
||||
VL_NowSize = ZtCMainChars::GetLength_Find
|
||||
(
|
||||
APC_Origin, AL_OriginLen,
|
||||
ARA_SearchArray.ItD(CI_IterEasyID).data(),
|
||||
ARA_SearchArray.ItD(CI_IterEasyID).size()
|
||||
);
|
||||
/////////////////////////////////////////
|
||||
|
||||
if(VL_NowSize>0) return VL_NowSize;
|
||||
|
||||
@ -3434,21 +3453,21 @@ namespace ZNsMain
|
||||
|
||||
TypeLength j =0 ;
|
||||
TypeCharC* VP_Origin =APC_Origin;
|
||||
TypeCharC* VP_Left ;
|
||||
TypeCharC* VP_Right;
|
||||
TypeCharC* VP_Left =0 ;
|
||||
TypeCharC* VP_Right =0 ;
|
||||
|
||||
for(TypeLength i=0; i<AL_OriginLen; ++i)
|
||||
{
|
||||
VP_Left =VP_Origin ;
|
||||
VP_Right=APC_Search;
|
||||
VP_Left = VP_Origin ;
|
||||
VP_Right = APC_Search ;
|
||||
|
||||
// 문자를 찾았으면 찾은 위치 i 에 찾은 문자 길이 1 을 더해서 리턴한다.
|
||||
|
||||
for(j=0; j<AL_SearchLen; ++j)
|
||||
{
|
||||
if(*VP_Left++ == *VP_Right++) return i+1;
|
||||
}/*
|
||||
for(j=0; j<AL_SearchLen; ++j)*/
|
||||
}
|
||||
/*/////////////////////////*/
|
||||
|
||||
++VP_Origin;
|
||||
}/*
|
||||
@ -3486,12 +3505,14 @@ namespace ZNsMain
|
||||
|
||||
for(TypeLength i=0; i<VL_ArrSize; ++i)
|
||||
{
|
||||
VL_SumSize += VL_NowSize=ZtCMainChars::GetLength_FindChar(
|
||||
APC_Origin +VL_SumSize ,
|
||||
AL_OriginLen-VL_SumSize ,
|
||||
ARA_SearchArray.ItD(CI_IterEasyID).data(),
|
||||
ARA_SearchArray.ItD(CI_IterEasyID).size()
|
||||
/*/////////*/ );
|
||||
VL_SumSize += VL_NowSize=ZtCMainChars::GetLength_FindChar
|
||||
(
|
||||
APC_Origin +VL_SumSize ,
|
||||
AL_OriginLen-VL_SumSize ,
|
||||
ARA_SearchArray.ItD(CI_IterEasyID).data(),
|
||||
ARA_SearchArray.ItD(CI_IterEasyID).size()
|
||||
);
|
||||
/////////////////////////////////////////////////////////
|
||||
|
||||
if(VL_NowSize<1) return 0;
|
||||
|
||||
@ -3745,8 +3766,8 @@ namespace ZNsMain
|
||||
if(*VP_Origin++ == *VP_Search)
|
||||
{
|
||||
++VL_FindCnt; --VL_SearchLen; VL_NowPos=i+1; ++VP_Search;
|
||||
}/*
|
||||
if(*VP_Origin++ == *VP_Search)*/
|
||||
}
|
||||
/*//////////////////////////*/
|
||||
|
||||
if(VL_SearchLen<1) break;
|
||||
}/*
|
||||
@ -3841,12 +3862,12 @@ namespace ZNsMain
|
||||
|
||||
IterEasyIDc CI_IterEasyID(ARA_SearchArray.GetHeadIterEasyID());
|
||||
|
||||
const bool CB_IsOK=ZtCMainChars::DoStart
|
||||
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;
|
||||
|
||||
@ -3926,8 +3947,8 @@ namespace ZNsMain
|
||||
if(*VP_Origin++ == *VP_Search)
|
||||
{
|
||||
++VL_FindCnt; --VL_SearchLen; VL_NowPos=i+1; ++VP_Search;
|
||||
}/*
|
||||
if(*VP_Origin++ == *VP_Search)*/
|
||||
}
|
||||
/*//////////////////////////*/
|
||||
|
||||
if(VL_SearchLen<1) break;
|
||||
}/*
|
||||
@ -4012,12 +4033,12 @@ namespace ZNsMain
|
||||
|
||||
for(TypeLength i=0; i<VL_ArrSize; ++i)
|
||||
{
|
||||
const bool CB_IsOK=ZtCMainChars::DoStart
|
||||
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
|
||||
ARA_SearchArray.ItD(CI_IterEasyID).size() ;
|
||||
@ -4151,8 +4172,8 @@ namespace ZNsMain
|
||||
if(*VPC_Origin== *VPC_Permit++)
|
||||
{
|
||||
++VL_SearchLen; break;
|
||||
}/*
|
||||
if(*VPC_Origin== *VPC_Permit++)*/
|
||||
}
|
||||
/*///////////////////////////*/
|
||||
}/*
|
||||
for(; j<AL_PermitLength; ++j)*/
|
||||
|
||||
@ -4209,8 +4230,8 @@ namespace ZNsMain
|
||||
if(*VPC_Origin>=*VPC_Permit && *VPC_Origin<=*(VPC_Permit+1))
|
||||
{
|
||||
++VL_SearchLen; break;
|
||||
}/*
|
||||
if(*VPC_Origin>=*VPC_Permit && *VPC_Origin<=*(VPC_Permit+1))*/
|
||||
}
|
||||
/*////////////////////////////////////////////////////////*/
|
||||
|
||||
VPC_Permit+=2;
|
||||
}/*
|
||||
@ -4266,7 +4287,9 @@ namespace ZNsMain
|
||||
);
|
||||
//////////////////////////////////////
|
||||
|
||||
if(VL_SearchNow<1) return 0; VL_SearchSum+=VL_SearchNow;
|
||||
if(VL_SearchNow<1) return 0 ;
|
||||
|
||||
VL_SearchSum += VL_SearchNow;
|
||||
|
||||
ARA_SearchArray.MoveNextIter(RR(CI_IterEasyID));
|
||||
}/*
|
||||
@ -4322,7 +4345,10 @@ namespace ZNsMain
|
||||
);
|
||||
///////////////////////////////////////////////////
|
||||
|
||||
if(VL_SearchNow<1) return 0; ARA_SearchArray.MoveNextIter(RR(CI_IterEasyID));
|
||||
if(VL_SearchNow<1) return 0;
|
||||
|
||||
ARA_SearchArray.
|
||||
MoveNextIter( RR(CI_IterEasyID) );
|
||||
}/*
|
||||
for(TypeLength i=0; i<VL_ArrSize; ++i)*/
|
||||
|
||||
@ -4628,8 +4654,8 @@ namespace ZNsMain
|
||||
if(*VPC_Origin>=*VPC_Permit && *VPC_Origin<=*(VPC_Permit+1))
|
||||
{
|
||||
++VL_SearchLen; break;
|
||||
}/*
|
||||
if(*VPC_Origin>=*VPC_Permit && *VPC_Origin<=*(VPC_Permit+1))*/
|
||||
}
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
VPC_Permit+=2;
|
||||
}/*
|
||||
@ -4680,14 +4706,19 @@ namespace ZNsMain
|
||||
|
||||
for(TypeLength i=0; i<VL_ArrSize; ++i)
|
||||
{
|
||||
VL_SearchSum += VL_SearchNow=GetLength_NoPermitCharRange(
|
||||
APC_Origin+VL_SearchSum ,
|
||||
AL_Length -VL_SearchSum ,
|
||||
ARA_SearchArray.ItD(CI_IterEasyID).data(),
|
||||
ARA_SearchArray.ItD(CI_IterEasyID).size()
|
||||
/*//////////*/ );
|
||||
VL_SearchSum += VL_SearchNow = GetLength_NoPermitCharRange
|
||||
(
|
||||
APC_Origin+VL_SearchSum ,
|
||||
AL_Length -VL_SearchSum ,
|
||||
ARA_SearchArray.ItD(CI_IterEasyID).data(),
|
||||
ARA_SearchArray.ItD(CI_IterEasyID).size()
|
||||
);
|
||||
//////////////////////////////////////////////////////////
|
||||
|
||||
if(VL_SearchNow<1) return 0; ARA_SearchArray.MoveNextIter(RR(CI_IterEasyID));
|
||||
if(VL_SearchNow<1) return 0;
|
||||
|
||||
ARA_SearchArray.
|
||||
MoveNextIter( RR(CI_IterEasyID) );
|
||||
}/*
|
||||
for(TypeLength i=0; i<VL_ArrSize; ++i)*/
|
||||
|
||||
|
Reference in New Issue
Block a user