commit 2025-08-19 14:15 edit a bit ZCppMain/ZtCMainChars.H
This commit is contained in:
@ -1626,20 +1626,22 @@ namespace ZNsMain
|
|||||||
return -1;
|
return -1;
|
||||||
//endif
|
//endif
|
||||||
|
|
||||||
bool VB_IsOK=ZtCMainChars::DoStart(
|
bool VB_IsOK = ZtCMainChars::DoStart
|
||||||
|
(
|
||||||
APC_Origin2 ,
|
APC_Origin2 ,
|
||||||
APC_Search +VL_MatchLen,
|
APC_Search +VL_MatchLen,
|
||||||
AL_OriginLen2 ,
|
AL_OriginLen2 ,
|
||||||
AL_SearchLength-VL_MatchLen
|
AL_SearchLength-VL_MatchLen
|
||||||
/*/////////*/ );
|
);
|
||||||
|
////////////////////////////////////
|
||||||
|
|
||||||
if(VB_IsOK==true)
|
if(VB_IsOK==true)
|
||||||
{
|
{
|
||||||
ARRL_SearchedPos1=AL_OriginLen1-VL_MatchLen;
|
ARRL_SearchedPos1=AL_OriginLen1-VL_MatchLen
|
||||||
ARRL_SearchedPos2=0 ;
|
; ARRL_SearchedPos2=0
|
||||||
ARRL_SearchedLen1=VL_MatchLen;
|
; ARRL_SearchedLen1=VL_MatchLen
|
||||||
ARRL_SearchedLen2=AL_SearchLength-VL_MatchLen;
|
; ARRL_SearchedLen2=AL_SearchLength-VL_MatchLen
|
||||||
|
;
|
||||||
return 0;
|
return 0;
|
||||||
}/*
|
}/*
|
||||||
if(VB_IsOK==true)*/
|
if(VB_IsOK==true)*/
|
||||||
@ -1766,14 +1768,16 @@ namespace ZNsMain
|
|||||||
|
|
||||||
template<
|
template<
|
||||||
typename TReadyExec, typename TTyChars, typename TString>
|
typename TReadyExec, typename TTyChars, typename TString>
|
||||||
static bool FindPosReady(
|
static bool FindPosReady
|
||||||
|
(
|
||||||
TReadyExec AR_CReadyExec ,
|
TReadyExec AR_CReadyExec ,
|
||||||
const TTyChars& AR_CCharsOrigin ,
|
const TTyChars& AR_CCharsOrigin ,
|
||||||
const TTyChars& AR_CCharsSearch ,
|
const TTyChars& AR_CCharsSearch ,
|
||||||
TString& ARR_CStrReadyBuff,
|
TString& ARR_CStrReadyBuff,
|
||||||
TypeLength& ARRL_StartPos , // AR_CCharsOrigin.data() 의 offset 이다.
|
TypeLength& ARRL_StartPos , // AR_CCharsOrigin.data() 의 offset 이다.
|
||||||
ZNsEnum::ZERun& ARRE_ERun
|
ZNsEnum::ZERun& ARRE_ERun
|
||||||
/*//////////*/ ) ////////////////////////////////////////*/
|
)
|
||||||
|
/////////////////////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
/*###########################################################################################
|
/*###########################################################################################
|
||||||
|
|
||||||
@ -1844,22 +1848,25 @@ namespace ZNsMain
|
|||||||
TypeLength VL_ValidLen=VO_CCharsOrigin.size()-VL_MatchLen;
|
TypeLength VL_ValidLen=VO_CCharsOrigin.size()-VL_MatchLen;
|
||||||
|
|
||||||
if(VL_MatchLen>0)
|
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)
|
if(VL_ValidLen>0)
|
||||||
ARRE_ERun=AR_CReadyExec.OnMeetNormal(VO_CCharsOrigin.data(), VL_ValidLen);
|
ARRE_ERun=AR_CReadyExec.OnMeetNormal
|
||||||
//endif
|
(VO_CCharsOrigin.data() , VL_ValidLen);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}/*
|
}/*
|
||||||
if(VL_ReadyBuffSize+AR_CCharsOrigin.size()<AR_CCharsSearch.size())*/
|
if(VL_ReadyBuffSize+AR_CCharsOrigin.size()<AR_CCharsSearch.size())*/
|
||||||
|
|
||||||
|
|
||||||
bool VB_IsOK=ZtCMainChars::DoStart(
|
bool VB_IsOK=ZtCMainChars::DoStart
|
||||||
|
(
|
||||||
VO_CCharsOrigin.data() ,
|
VO_CCharsOrigin.data() ,
|
||||||
AR_CCharsSearch.data()+VL_ReadyBuffSize,
|
AR_CCharsSearch.data()+VL_ReadyBuffSize,
|
||||||
VO_CCharsOrigin.size() ,
|
VO_CCharsOrigin.size() ,
|
||||||
AR_CCharsSearch.size()-VL_ReadyBuffSize
|
AR_CCharsSearch.size()-VL_ReadyBuffSize
|
||||||
/*/////////*/ );
|
);
|
||||||
|
//////////////////////////////////
|
||||||
|
|
||||||
if(VB_IsOK==true)
|
if(VB_IsOK==true)
|
||||||
{
|
{
|
||||||
@ -1907,12 +1914,18 @@ namespace ZNsMain
|
|||||||
if(VL_FindPos<0)
|
if(VL_FindPos<0)
|
||||||
{
|
{
|
||||||
ARRL_StartPos = -1;
|
ARRL_StartPos = -1;
|
||||||
ARRE_ERun=AR_CReadyExec.OnMeetNormal(
|
ARRE_ERun=AR_CReadyExec.OnMeetNormal
|
||||||
VO_CCharsOrigin.data(), VO_CCharsOrigin.size()-VL_MatchLen );
|
(
|
||||||
ARR_CStrReadyBuff.append(
|
VO_CCharsOrigin.data()
|
||||||
VO_CCharsOrigin.data()+VO_CCharsOrigin.size()-VL_MatchLen, VL_MatchLen );
|
, VO_CCharsOrigin.size()-VL_MatchLen
|
||||||
|
);
|
||||||
return false;
|
ARR_CStrReadyBuff.append
|
||||||
|
(
|
||||||
|
VO_CCharsOrigin.data() +
|
||||||
|
VO_CCharsOrigin.size() - VL_MatchLen
|
||||||
|
, VL_MatchLen
|
||||||
|
);
|
||||||
|
return false; //////////////////////////////////
|
||||||
}/*
|
}/*
|
||||||
if(VL_FindPos<0)*/
|
if(VL_FindPos<0)*/
|
||||||
|
|
||||||
@ -1925,22 +1938,28 @@ namespace ZNsMain
|
|||||||
}/*
|
}/*
|
||||||
if(VL_FindPos>0)*/
|
if(VL_FindPos>0)*/
|
||||||
|
|
||||||
ARRE_ERun =AR_CReadyExec.OnMeetReady(
|
ARRE_ERun = AR_CReadyExec.OnMeetReady
|
||||||
VO_CCharsOrigin.data()+VL_FindPos, AR_CCharsSearch.size(), ZNsMain::ZNsEnum::ZERun_NO);
|
(
|
||||||
|
VO_CCharsOrigin.data()+VL_FindPos
|
||||||
|
, AR_CCharsSearch.size()
|
||||||
|
, ZNsMain::ZNsEnum::ZERun_NO
|
||||||
|
);
|
||||||
ARRL_StartPos += (VL_FindPos+AR_CCharsSearch.size());
|
ARRL_StartPos += (VL_FindPos+AR_CCharsSearch.size());
|
||||||
|
|
||||||
return true;
|
return true; ////////////////////////////////////////
|
||||||
}/*
|
}/*
|
||||||
template<
|
template<
|
||||||
typename TReadyExec, typename TTyChars, typename TString>
|
typename TReadyExec, typename TTyChars, typename TString>
|
||||||
static bool FindPosReady(
|
static bool FindPosReady
|
||||||
|
(
|
||||||
TReadyExec AR_CReadyExec ,
|
TReadyExec AR_CReadyExec ,
|
||||||
const TTyChars& AR_CCharsOrigin ,
|
const TTyChars& AR_CCharsOrigin ,
|
||||||
const TTyChars& AR_CCharsSearch ,
|
const TTyChars& AR_CCharsSearch ,
|
||||||
TString& ARR_CStrReadyBuff,
|
TString& ARR_CStrReadyBuff,
|
||||||
TypeLength& ARRL_StartPos , // AR_CCharsOrigin.data() 의 offset 이다.
|
TypeLength& ARRL_StartPos , // AR_CCharsOrigin.data() 의 offset 이다.
|
||||||
ZNsEnum::ZERun& ARRE_ERun
|
ZNsEnum::ZERun& ARRE_ERun
|
||||||
////////////// ) ////////////////////////////////////////*/
|
)
|
||||||
|
///////////////////////////////////////////////////////////*/
|
||||||
|
|
||||||
template<
|
template<
|
||||||
typename TReadyExec, typename TStringData> //////////////
|
typename TReadyExec, typename TStringData> //////////////
|
||||||
@ -2014,8 +2033,8 @@ namespace ZNsMain
|
|||||||
typedef ZNsMain::ZtCCheckRef<THelpType> ZCCheckRef ;
|
typedef ZNsMain::ZtCCheckRef<THelpType> ZCCheckRef ;
|
||||||
typedef ZCCheckRef::TypeData TypeObject ;
|
typedef ZCCheckRef::TypeData TypeObject ;
|
||||||
|
|
||||||
ZCChars VO_CCharsOrigin(
|
ZCChars VO_CCharsOrigin
|
||||||
AR_CCharsOrigin.data(), AR_CCharsOrigin.size() ) ;
|
(AR_CCharsOrigin.data(), AR_CCharsOrigin.size());
|
||||||
|
|
||||||
VO_CCharsOrigin += ARRL_StartPos ;
|
VO_CCharsOrigin += ARRL_StartPos ;
|
||||||
|
|
||||||
@ -2095,12 +2114,14 @@ namespace ZNsMain
|
|||||||
if(VL_ReadyBuffSize+AR_CCharsOrigin.size()<AR_CCharsSearch.size())*/
|
if(VL_ReadyBuffSize+AR_CCharsOrigin.size()<AR_CCharsSearch.size())*/
|
||||||
|
|
||||||
|
|
||||||
bool VB_IsOK=ZtCMainChars::DoStart(
|
bool VB_IsOK=ZtCMainChars::DoStart
|
||||||
|
(
|
||||||
VO_CCharsOrigin.data() ,
|
VO_CCharsOrigin.data() ,
|
||||||
AR_CCharsSearch.data()+VL_ReadyBuffSize,
|
AR_CCharsSearch.data()+VL_ReadyBuffSize,
|
||||||
VO_CCharsOrigin.size() ,
|
VO_CCharsOrigin.size() ,
|
||||||
AR_CCharsSearch.size()-VL_ReadyBuffSize
|
AR_CCharsSearch.size()-VL_ReadyBuffSize
|
||||||
/*////////*/ );
|
);
|
||||||
|
//////////////////////////////////
|
||||||
|
|
||||||
if(VB_IsOK==true)
|
if(VB_IsOK==true)
|
||||||
{
|
{
|
||||||
@ -2257,18 +2278,21 @@ namespace ZNsMain
|
|||||||
TypeLength& ARRL_StartPos , // AP_OriginData 의 offset 이다.
|
TypeLength& ARRL_StartPos , // AP_OriginData 의 offset 이다.
|
||||||
ZNsEnum::ZERun& ARRE_ERun
|
ZNsEnum::ZERun& ARRE_ERun
|
||||||
)
|
)
|
||||||
///////////////////////////////////////////////////////////////////*/
|
//////////////////////////////////////////////////////////////////*/
|
||||||
|
|
||||||
|
|
||||||
template<typename TTyChars, typename TStringData> //////////////////
|
template
|
||||||
static bool FindPosReadyValid(
|
<typename TTyChars, typename TStringData>
|
||||||
|
static bool FindPosReadyValid
|
||||||
|
(
|
||||||
const TTyChars& AR_CCharsOrigin ,
|
const TTyChars& AR_CCharsOrigin ,
|
||||||
const TTyChars& AR_CCharsSearch ,
|
const TTyChars& AR_CCharsSearch ,
|
||||||
TStringData& ARR_CStrReadyBuff,
|
TStringData& ARR_CStrReadyBuff,
|
||||||
TypeLength& ARRL_StartPos ,
|
TypeLength& ARRL_StartPos ,
|
||||||
TypeLength& ARRL_ValidReady , // ARR_CStrReadyBuff 의 유효길이
|
TypeLength& ARRL_ValidReady , // ARR_CStrReadyBuff 의 유효길이
|
||||||
TypeLength& ARRL_ValidLen
|
TypeLength& ARRL_ValidLen
|
||||||
/*//////////*/ ) /////////////////////////////////////////////////*/
|
)
|
||||||
|
///////////////////////////////////////////*/
|
||||||
{
|
{
|
||||||
// ARRL_ValidReady 은 0 이나 ARR_CStrReadyBuff.size() 중 한 값이다.
|
// ARRL_ValidReady 은 0 이나 ARR_CStrReadyBuff.size() 중 한 값이다.
|
||||||
|
|
||||||
@ -2317,12 +2341,14 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
// 찾는 데이타의 길이는 AR_CCharsOrigin.size() 이 된다.
|
// 찾는 데이타의 길이는 AR_CCharsOrigin.size() 이 된다.
|
||||||
|
|
||||||
bool VB_IsOK=ZtCMainChars::DoStart(
|
bool VB_IsOK=ZtCMainChars::DoStart
|
||||||
|
(
|
||||||
VO_CCharsOrigin.data() ,
|
VO_CCharsOrigin.data() ,
|
||||||
AR_CCharsSearch.data()+VL_ReadyBuffSize,
|
AR_CCharsSearch.data()+VL_ReadyBuffSize,
|
||||||
VO_CCharsOrigin.size() ,
|
VO_CCharsOrigin.size() ,
|
||||||
VO_CCharsOrigin.size()
|
VO_CCharsOrigin.size()
|
||||||
/*////////*/ );
|
);
|
||||||
|
//////////////////////////////////
|
||||||
|
|
||||||
if(VB_IsOK==true)
|
if(VB_IsOK==true)
|
||||||
{
|
{
|
||||||
@ -2341,29 +2367,33 @@ namespace ZNsMain
|
|||||||
ARRL_ValidReady = VL_ReadyBuffSize;
|
ARRL_ValidReady = VL_ReadyBuffSize;
|
||||||
ARRL_StartPos =-1;
|
ARRL_StartPos =-1;
|
||||||
|
|
||||||
VL_MatchLen=ZtCMainChars::GetMatchLenFromEnd(
|
VL_MatchLen = ZtCMainChars::GetMatchLenFromEnd
|
||||||
|
(
|
||||||
VO_CCharsOrigin.data(),
|
VO_CCharsOrigin.data(),
|
||||||
AR_CCharsSearch.data(),
|
AR_CCharsSearch.data(),
|
||||||
VO_CCharsOrigin.size(),
|
VO_CCharsOrigin.size(),
|
||||||
VO_CCharsOrigin.size()
|
VO_CCharsOrigin.size()
|
||||||
/*/////////*/ ); ////////////////////////////
|
);
|
||||||
|
//////////////////////////////////////////////
|
||||||
|
|
||||||
ARRL_ValidLen=AR_CCharsOrigin.size()-VL_MatchLen;
|
ARRL_ValidLen=AR_CCharsOrigin.size()-VL_MatchLen;
|
||||||
|
|
||||||
if(VL_MatchLen>0) ARR_CStrReadyBuff.
|
if(VL_MatchLen>0) ARR_CStrReadyBuff.append
|
||||||
append(VO_CCharsOrigin.data()+ARRL_ValidLen, VL_MatchLen);
|
(VO_CCharsOrigin.data()+ARRL_ValidLen, VL_MatchLen);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}/*
|
}/*
|
||||||
if(VL_ReadyBuffSize+AR_CCharsOrigin.size()<AR_CCharsSearch.size())*/
|
if(VL_ReadyBuffSize+AR_CCharsOrigin.size()<AR_CCharsSearch.size())*/
|
||||||
|
|
||||||
|
|
||||||
bool VB_IsOK=ZtCMainChars::DoStart(
|
bool VB_IsOK=ZtCMainChars::DoStart
|
||||||
|
(
|
||||||
VO_CCharsOrigin.data() ,
|
VO_CCharsOrigin.data() ,
|
||||||
AR_CCharsSearch.data()+VL_ReadyBuffSize,
|
AR_CCharsSearch.data()+VL_ReadyBuffSize,
|
||||||
VO_CCharsOrigin.size() ,
|
VO_CCharsOrigin.size() ,
|
||||||
AR_CCharsSearch.size()-VL_ReadyBuffSize
|
AR_CCharsSearch.size()-VL_ReadyBuffSize
|
||||||
/*/////////*/ );
|
);
|
||||||
|
//////////////////////////////////
|
||||||
|
|
||||||
ARR_CStrReadyBuff="";
|
ARR_CStrReadyBuff="";
|
||||||
|
|
||||||
@ -2380,13 +2410,13 @@ namespace ZNsMain
|
|||||||
|
|
||||||
VL_MatchLen=0;
|
VL_MatchLen=0;
|
||||||
|
|
||||||
TypeLength VL_FindPos =ZtCMainChars::FindPosLen(
|
TypeLength VL_FindPos = ZtCMainChars::FindPosLen
|
||||||
VO_CCharsOrigin.data(),
|
(
|
||||||
AR_CCharsSearch.data(),
|
VO_CCharsOrigin.data(), AR_CCharsSearch.data(),
|
||||||
VO_CCharsOrigin.size(),
|
VO_CCharsOrigin.size(), AR_CCharsSearch.size(),
|
||||||
AR_CCharsSearch.size(),
|
|
||||||
RR(VL_MatchLen)
|
RR(VL_MatchLen)
|
||||||
/*/////////*/ ); ///////////////////////////////
|
);
|
||||||
|
////////////////////////////////////////////////
|
||||||
|
|
||||||
ARRL_ValidReady = VL_ReadyBuffSize;
|
ARRL_ValidReady = VL_ReadyBuffSize;
|
||||||
|
|
||||||
@ -2404,17 +2434,20 @@ namespace ZNsMain
|
|||||||
ARRL_ValidLen =VL_FindPos;
|
ARRL_ValidLen =VL_FindPos;
|
||||||
ARRL_StartPos+=(VL_FindPos+AR_CCharsSearch.size());
|
ARRL_StartPos+=(VL_FindPos+AR_CCharsSearch.size());
|
||||||
|
|
||||||
return true;
|
return true; /////////////
|
||||||
}/*
|
}/*
|
||||||
template<typename TTyChars, typename TStringData> //////////////////
|
template
|
||||||
static bool FindPosReadyValid(
|
<typename TTyChars, typename TStringData>
|
||||||
|
static bool FindPosReadyValid
|
||||||
|
(
|
||||||
const TTyChars& AR_CCharsOrigin ,
|
const TTyChars& AR_CCharsOrigin ,
|
||||||
const TTyChars& AR_CCharsSearch ,
|
const TTyChars& AR_CCharsSearch ,
|
||||||
TStringData& ARR_CStrReadyBuff,
|
TStringData& ARR_CStrReadyBuff,
|
||||||
TypeLength& ARRL_StartPos ,
|
TypeLength& ARRL_StartPos ,
|
||||||
TypeLength& ARRL_ValidReady , // ARR_CStrReadyBuff 의 유효길이
|
TypeLength& ARRL_ValidReady , // ARR_CStrReadyBuff 의 유효길이
|
||||||
TypeLength& ARRL_ValidLen
|
TypeLength& ARRL_ValidLen
|
||||||
////////////// ) /////////////////////////////////////////////////*/
|
)
|
||||||
|
///////////////////////////////////////////*/
|
||||||
|
|
||||||
|
|
||||||
template<typename TString>
|
template<typename TString>
|
||||||
@ -2472,11 +2505,9 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
++VL_SearchCount; VL_SearchOffset=0;
|
++VL_SearchCount; VL_SearchOffset=0;
|
||||||
}/*
|
}/*
|
||||||
if(++VL_SearchOffset==AL_SearchLen)*/
|
/////////////////////////////////*/
|
||||||
}
|
}
|
||||||
else
|
else VL_SearchOffset=0;
|
||||||
VL_SearchOffset=0;
|
|
||||||
/*else*/
|
|
||||||
}/*
|
}/*
|
||||||
__for0(TypeLength, i, AL_OriginLen)*/
|
__for0(TypeLength, i, AL_OriginLen)*/
|
||||||
|
|
||||||
@ -2558,7 +2589,7 @@ namespace ZNsMain
|
|||||||
|
|
||||||
|
|
||||||
template<typename TFunctor> static void SplitEach( ///////////////
|
template<typename TFunctor> static void SplitEach( ///////////////
|
||||||
TFunctor AR_TFunctor ,
|
TFunctor AO_Functor ,
|
||||||
TypeCharC* APC_OriginChar ,
|
TypeCharC* APC_OriginChar ,
|
||||||
TypeCharC* APC_SearchChar ,
|
TypeCharC* APC_SearchChar ,
|
||||||
TypeLength AL_OriginLen ,
|
TypeLength AL_OriginLen ,
|
||||||
@ -2568,11 +2599,13 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
if(AL_OriginLen<1 || AL_OriginLen<AL_SearchLen) return;
|
if(AL_OriginLen<1 || AL_OriginLen<AL_SearchLen) return;
|
||||||
|
|
||||||
int VI_SearchCount=0; // AR_TFunctor() 에게 찾은 번호를 전달하기 위한 변수
|
int VI_SearchCount=0; // AO_Functor() 에게 찾은 번호를 전달하기 위한 변수
|
||||||
|
|
||||||
if(AL_SearchLen<1)
|
if(AL_SearchLen<1)
|
||||||
{
|
{
|
||||||
AR_TFunctor(APC_OriginChar, AL_OriginLen, ++VI_SearchCount); return;
|
ZtCTypeData<TFunctor>::GetObjRef(AO_Functor)
|
||||||
|
(APC_OriginChar, AL_OriginLen, ++VI_SearchCount);
|
||||||
|
return;
|
||||||
}/*
|
}/*
|
||||||
if(AL_SearchLen<1)*/
|
if(AL_SearchLen<1)*/
|
||||||
|
|
||||||
@ -2600,12 +2633,18 @@ namespace ZNsMain
|
|||||||
|
|
||||||
if(VL_Index>VL_CopyStartPos)
|
if(VL_Index>VL_CopyStartPos)
|
||||||
{
|
{
|
||||||
AR_TFunctor(
|
ZtCTypeData<TFunctor>::GetObjRef(AO_Functor)
|
||||||
APC_OriginChar+VL_CopyStartPos, VL_Index-VL_CopyStartPos, ++VI_SearchCount) ;
|
(
|
||||||
|
APC_OriginChar+VL_CopyStartPos ,
|
||||||
|
VL_Index -VL_CopyStartPos ,
|
||||||
|
++VI_SearchCount
|
||||||
|
) ;
|
||||||
|
////////////////////////////////////////////
|
||||||
}
|
}
|
||||||
else if(AB_DoExecNull==true)
|
else if(AB_DoExecNull==true)
|
||||||
{
|
{
|
||||||
AR_TFunctor(0, 0, ++VI_SearchCount) ;
|
ZtCTypeData<TFunctor>::GetObjRef
|
||||||
|
(AO_Functor)(0, 0, ++VI_SearchCount) ;
|
||||||
}/*
|
}/*
|
||||||
else if(AB_DoExecNull==true)*/
|
else if(AB_DoExecNull==true)*/
|
||||||
|
|
||||||
@ -2618,17 +2657,23 @@ namespace ZNsMain
|
|||||||
|
|
||||||
if(VI_SearchCount==0 && VL_CopyStartPos==0)
|
if(VI_SearchCount==0 && VL_CopyStartPos==0)
|
||||||
{
|
{
|
||||||
AR_TFunctor(APC_OriginChar, AL_OriginLen, ++VI_SearchCount) ;
|
ZtCTypeData<TFunctor>::GetObjRef(AO_Functor)
|
||||||
|
(APC_OriginChar, AL_OriginLen, ++VI_SearchCount) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
AR_TFunctor(
|
ZtCTypeData<TFunctor>::GetObjRef(AO_Functor)
|
||||||
APC_OriginChar+VL_CopyStartPos, AL_OriginLen-VL_CopyStartPos, ++VI_SearchCount) ;
|
(
|
||||||
|
APC_OriginChar+VL_CopyStartPos ,
|
||||||
|
AL_OriginLen -VL_CopyStartPos ,
|
||||||
|
++VI_SearchCount
|
||||||
|
) ;
|
||||||
|
////////////////////////////////////////////
|
||||||
}/*
|
}/*
|
||||||
else*/
|
else*/
|
||||||
}/*
|
}/*
|
||||||
template<typename TFunctor> static void SplitEach( ///////////////
|
template<typename TFunctor> static void SplitEach( ///////////////
|
||||||
TFunctor AR_TFunctor ,
|
TFunctor AO_Functor ,
|
||||||
TypeCharC* APC_OriginChar ,
|
TypeCharC* APC_OriginChar ,
|
||||||
TypeCharC* APC_SearchChar ,
|
TypeCharC* APC_SearchChar ,
|
||||||
TypeLength AL_OriginLen ,
|
TypeLength AL_OriginLen ,
|
||||||
@ -2637,17 +2682,17 @@ namespace ZNsMain
|
|||||||
////////////// ) ///////////////////////////////////////////////*/
|
////////////// ) ///////////////////////////////////////////////*/
|
||||||
|
|
||||||
template<typename TFunctor, typename TTyChars> static void SplitEach(
|
template<typename TFunctor, typename TTyChars> static void SplitEach(
|
||||||
TFunctor AR_TFunctor, const TTyChars& AR_CCharsOrigin , const TTyChars& AR_CCharsSearch, bool AB_DoExecNull=true)
|
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>(
|
||||||
AR_TFunctor,
|
AO_Functor,
|
||||||
AR_CCharsOrigin.data(), AR_CCharsSearch.data(),
|
AR_CCharsOrigin.data(), AR_CCharsSearch.data(),
|
||||||
AR_CCharsOrigin.size(), AR_CCharsSearch.size(),
|
AR_CCharsOrigin.size(), AR_CCharsSearch.size(),
|
||||||
AB_DoExecNull
|
AB_DoExecNull
|
||||||
/*/////////*/ ); //////////////////////////////////////////////
|
/*/////////*/ ); //////////////////////////////////////////////
|
||||||
}/*
|
}/*
|
||||||
template<typename TFunctor, typename TTyChars> static void SplitEach(
|
template<typename TFunctor, typename TTyChars> static void SplitEach(
|
||||||
TFunctor AR_TFunctor, const TTyChars& AR_CCharsOrigin , const TTyChars& AR_CCharsSearch, bool AB_DoExecNull=true) */
|
TFunctor AO_Functor, const TTyChars& AR_CCharsOrigin , const TTyChars& AR_CCharsSearch, bool AB_DoExecNull=true) */
|
||||||
|
|
||||||
|
|
||||||
template<typename TString> static bool SplitTwo( /////////////////
|
template<typename TString> static bool SplitTwo( /////////////////
|
||||||
|
Reference in New Issue
Block a user