commit 2025-08-19 21:03 edit a bit ZCppMain/ZtCStringEx.H
This commit is contained in:
@ -461,7 +461,7 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
if(VP_Origin[i+j]!=APC_Search[j]) break;
|
if(VP_Origin[i+j]!=APC_Search[j]) break;
|
||||||
}/*
|
}/*
|
||||||
for(j=0; j<AL_SearchLen; ++j)*/
|
///////////////////////////*/
|
||||||
|
|
||||||
if(j==AL_SearchLen)
|
if(j==AL_SearchLen)
|
||||||
{
|
{
|
||||||
@ -526,7 +526,7 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
if(VP_Origin[i+j]!=APC_Search[j]) break;
|
if(VP_Origin[i+j]!=APC_Search[j]) break;
|
||||||
}/*
|
}/*
|
||||||
for(j=0; j<AL_SearchLen; ++j)*/
|
///////////////////////////*/
|
||||||
|
|
||||||
if(j==AL_SearchLen)
|
if(j==AL_SearchLen)
|
||||||
{
|
{
|
||||||
@ -573,7 +573,6 @@ namespace ZNsMain
|
|||||||
TypeLength ml_AllLen;
|
TypeLength ml_AllLen;
|
||||||
TypeLength ml_UseLen;
|
TypeLength ml_UseLen;
|
||||||
TypeChar* mpc_Data ;
|
TypeChar* mpc_Data ;
|
||||||
/*protected:*/
|
|
||||||
public :
|
public :
|
||||||
|
|
||||||
ZtCStringBase()
|
ZtCStringBase()
|
||||||
@ -592,12 +591,12 @@ namespace ZNsMain
|
|||||||
|
|
||||||
if(APC_Data==0 || APC_Data[0]==0) return;
|
if(APC_Data==0 || APC_Data[0]==0) return;
|
||||||
|
|
||||||
MakeWord
|
MakeWord ////////////////////////////////
|
||||||
(
|
(
|
||||||
APC_Data, ZNsMain::ZftGetLengthType
|
APC_Data, ZNsMain::ZftGetLengthType
|
||||||
< TypeLength, TypeChar >( APC_Data )
|
< TypeLength, TypeChar >( APC_Data )
|
||||||
);
|
);
|
||||||
////////
|
/////////////////////////////////////////
|
||||||
}/*
|
}/*
|
||||||
ZtCStringBase(TypeCharC* APC_Data)*/
|
ZtCStringBase(TypeCharC* APC_Data)*/
|
||||||
|
|
||||||
@ -849,8 +848,11 @@ namespace ZNsMain
|
|||||||
|
|
||||||
if(ml_UseLen<1 || AL_BuffSize<1) return 0;
|
if(ml_UseLen<1 || AL_BuffSize<1) return 0;
|
||||||
|
|
||||||
TypeLength VL_LoopCnt =
|
TypeLength VL_LoopCnt = ///////////
|
||||||
ml_UseLen<AL_BuffSize ? ml_UseLen : AL_BuffSize ;
|
( ml_UseLen<AL_BuffSize ?
|
||||||
|
ml_UseLen : AL_BuffSize
|
||||||
|
) ;
|
||||||
|
///////////////////////////////////
|
||||||
|
|
||||||
for(TypeLength i=0;i<VL_LoopCnt;++i)
|
for(TypeLength i=0;i<VL_LoopCnt;++i)
|
||||||
{ APC_Buff[i]=mpc_Data[i]; }
|
{ APC_Buff[i]=mpc_Data[i]; }
|
||||||
@ -1157,7 +1159,11 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
/* 문자열의 순서를 뒤집는다. 문자열의 길이가 2 이상이어야 한다. */
|
/* 문자열의 순서를 뒤집는다. 문자열의 길이가 2 이상이어야 한다. */
|
||||||
|
|
||||||
if(ml_UseLen<2) return *this;
|
const int CI_MinLength=2 ;
|
||||||
|
|
||||||
|
if(ml_UseLen<CI_MinLength)
|
||||||
|
{ return *this; }
|
||||||
|
//////////////////////////
|
||||||
|
|
||||||
TypeLength i =0 ;
|
TypeLength i =0 ;
|
||||||
TypeLength j =ml_UseLen-1;
|
TypeLength j =ml_UseLen-1;
|
||||||
@ -1346,7 +1352,11 @@ namespace ZNsMain
|
|||||||
|
|
||||||
va_list VP_VarParam;
|
va_list VP_VarParam;
|
||||||
va_start( VP_VarParam, APC_Format);
|
va_start( VP_VarParam, APC_Format);
|
||||||
vsprintf(mpc_Data+ml_UseLen, APC_Format, VP_VarParam);
|
vsprintf //////////////////////////
|
||||||
|
(
|
||||||
|
mpc_Data+ml_UseLen, APC_Format, VP_VarParam
|
||||||
|
);
|
||||||
|
///////////////////////////////////
|
||||||
|
|
||||||
CorrectLength(ml_UseLen); return *this;
|
CorrectLength(ml_UseLen); return *this;
|
||||||
}/*
|
}/*
|
||||||
@ -1388,8 +1398,12 @@ namespace ZNsMain
|
|||||||
|
|
||||||
while(i>=1)
|
while(i>=1)
|
||||||
{
|
{
|
||||||
*VPC_Start++ =
|
*VPC_Start++ = ////////////////////////////
|
||||||
( ( AUL_LongType << ((CI_LongByte-i)*CI_BitOfByte) ) >> ((CI_LongByte-1)*CI_BitOfByte) ) ;
|
(
|
||||||
|
( AUL_LongType << ((CI_LongByte-i)*CI_BitOfByte) ) >>
|
||||||
|
( (CI_LongByte-1)*CI_BitOfByte)
|
||||||
|
) ;
|
||||||
|
///////////////////////////////////////////
|
||||||
|
|
||||||
--i;
|
--i;
|
||||||
}/*
|
}/*
|
||||||
@ -1420,8 +1434,13 @@ namespace ZNsMain
|
|||||||
|
|
||||||
while(i>=1)
|
while(i>=1)
|
||||||
{
|
{
|
||||||
*VPC_Start++ =
|
*VPC_Start++ = //////////////////////////////
|
||||||
( ( ALL_LLongType << ((CI_LLongByte-i)*CI_BitOfByte) ) >> ((CI_LLongByte-1)*CI_BitOfByte) ) ;
|
(
|
||||||
|
( ALL_LLongType << ((CI_LLongByte-i)*CI_BitOfByte) ) >>
|
||||||
|
( (CI_LLongByte-1)*CI_BitOfByte )
|
||||||
|
) ;
|
||||||
|
/////////////////////////////////////////////
|
||||||
|
|
||||||
--i;
|
--i;
|
||||||
}/*
|
}/*
|
||||||
while(i>=1)*/
|
while(i>=1)*/
|
||||||
@ -1520,7 +1539,8 @@ namespace ZNsMain
|
|||||||
}/*
|
}/*
|
||||||
for(i=0;i<=AL_Index2-AL_Index1;++i)*/
|
for(i=0;i<=AL_Index2-AL_Index1;++i)*/
|
||||||
|
|
||||||
VP_Char[i]=0; TypeLength VB_Return=ZNsMain::ATOL(VP_Char);
|
/*######*/ VP_Char[i] =0 ;
|
||||||
|
TypeLength VB_Return = ZNsMain::ATOL(VP_Char);
|
||||||
|
|
||||||
this->DeleteMem(VP_Char); return VB_Return;
|
this->DeleteMem(VP_Char); return VB_Return;
|
||||||
}/*
|
}/*
|
||||||
@ -1532,9 +1552,12 @@ namespace ZNsMain
|
|||||||
|
|
||||||
if(AL_Index2>=ml_UseLen) AL_Index2=ml_UseLen-1 ;
|
if(AL_Index2>=ml_UseLen) AL_Index2=ml_UseLen-1 ;
|
||||||
|
|
||||||
if(ml_UseLen<1 || AL_Index1<0 || AL_Index2<0 || AL_Index1>AL_Index2)
|
const bool CB_IsBad = ////////////////////
|
||||||
return 0;
|
(
|
||||||
//endif
|
ml_UseLen<1 || AL_Index1<0
|
||||||
|
|| AL_Index2<0 || AL_Index1>AL_Index2
|
||||||
|
);
|
||||||
|
if(CB_IsBad) return 0; ///////////////////
|
||||||
|
|
||||||
return ReadLongFromIndex(AL_Index1, AL_Index2);
|
return ReadLongFromIndex(AL_Index1, AL_Index2);
|
||||||
}/*
|
}/*
|
||||||
@ -1610,18 +1633,17 @@ namespace ZNsMain
|
|||||||
|
|
||||||
if(AL_Index>=ml_UseLen) return ARR_CString;
|
if(AL_Index>=ml_UseLen) return ARR_CString;
|
||||||
|
|
||||||
TypeLength VL_Pos =
|
TypeLength VL_Pos = FindPos
|
||||||
FindPos(APC_Search, AL_SearchLen, AL_Index);
|
(APC_Search, AL_SearchLen, AL_Index);
|
||||||
|
|
||||||
if(VL_Pos==AL_Index) return ARR_CString;
|
if(VL_Pos==AL_Index) return ARR_CString;
|
||||||
|
|
||||||
if(VL_Pos<0)
|
if(VL_Pos<0)
|
||||||
VL_Pos = ml_UseLen-1;
|
VL_Pos = ml_UseLen-1;
|
||||||
else
|
else VL_Pos-- ;
|
||||||
VL_Pos--;
|
|
||||||
//else
|
|
||||||
|
|
||||||
return ReadString(ARR_CString, AL_Index, VL_Pos);
|
return ReadString
|
||||||
|
(ARR_CString, AL_Index, VL_Pos);
|
||||||
}/*
|
}/*
|
||||||
ZCStringBase& ReadString( ////////////////////////////////////////
|
ZCStringBase& ReadString( ////////////////////////////////////////
|
||||||
ZCStringBase& ARR_CString,
|
ZCStringBase& ARR_CString,
|
||||||
@ -1713,22 +1735,28 @@ namespace ZNsMain
|
|||||||
ZCStringBase& ReplaceOnce
|
ZCStringBase& ReplaceOnce
|
||||||
(
|
(
|
||||||
TypeCharC* APC_Search , TypeCharC* APC_Replace ,
|
TypeCharC* APC_Search , TypeCharC* APC_Replace ,
|
||||||
TypeLength AL_SearchLen, TypeLength AL_ReplaceLen, TypeLength AL_StartPos=0
|
TypeLength AL_SearchLen, TypeLength AL_ReplaceLen,
|
||||||
|
TypeLength AL_StartPos=0
|
||||||
)
|
)
|
||||||
/*#####################*/
|
/*#####################*/
|
||||||
{
|
{
|
||||||
TypeLength VL_PosFind =
|
TypeLength VL_PosFind = FindPos
|
||||||
FindPos(APC_Search, AL_SearchLen, AL_StartPos);
|
(APC_Search, AL_SearchLen, AL_StartPos);
|
||||||
|
|
||||||
if(VL_PosFind<0) return *this;
|
if(VL_PosFind<0) return *this;
|
||||||
|
|
||||||
return ReplaceSection(
|
return ReplaceSection //////////////
|
||||||
VL_PosFind, AL_SearchLen, APC_Replace, AL_ReplaceLen);
|
(
|
||||||
|
VL_PosFind , AL_SearchLen ,
|
||||||
|
APC_Replace , AL_ReplaceLen
|
||||||
|
);
|
||||||
|
////////////////////////////////////
|
||||||
}/*
|
}/*
|
||||||
ZCStringBase& ReplaceOnce
|
ZCStringBase& ReplaceOnce
|
||||||
(
|
(
|
||||||
TypeCharC* APC_Search , TypeCharC* APC_Replace ,
|
TypeCharC* APC_Search , TypeCharC* APC_Replace ,
|
||||||
TypeLength AL_SearchLen, TypeLength AL_ReplaceLen, TypeLength AL_StartPos=0
|
TypeLength AL_SearchLen, TypeLength AL_ReplaceLen,
|
||||||
|
TypeLength AL_StartPos=0
|
||||||
)
|
)
|
||||||
#######################*/
|
#######################*/
|
||||||
|
|
||||||
@ -2059,7 +2087,11 @@ namespace ZNsMain
|
|||||||
)
|
)
|
||||||
###########################################################*/
|
###########################################################*/
|
||||||
|
|
||||||
ZCStringBase& Replace(TypeCharC* APC_Search, TypeCharC* APC_Replace, TypeLength AL_StartPos=0)
|
ZCStringBase& Replace
|
||||||
|
(
|
||||||
|
TypeCharC* APC_Search, TypeCharC* APC_Replace, TypeLength AL_StartPos=0
|
||||||
|
)
|
||||||
|
/////////////////////
|
||||||
{
|
{
|
||||||
using ZNsMain::ZftGetLengthType ;
|
using ZNsMain::ZftGetLengthType ;
|
||||||
|
|
||||||
@ -2073,10 +2105,17 @@ namespace ZNsMain
|
|||||||
);
|
);
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
}/*
|
}/*
|
||||||
ZCStringBase& Replace(TypeCharC* APC_Search, TypeCharC* APC_Replace, TypeLength AL_StartPos=0)*/
|
ZCStringBase& Replace
|
||||||
|
(
|
||||||
|
TypeCharC* APC_Search, TypeCharC* APC_Replace, TypeLength AL_StartPos=0
|
||||||
|
)
|
||||||
|
///////////////////*/
|
||||||
|
|
||||||
template<typename TSearchInfoList> ZCStringBase&
|
template<typename TSearchInfoList> ZCStringBase& ReplaceType
|
||||||
ReplaceType(TypeCharC* APC_Search, TypeCharC* APC_Replace, TypeLength AL_StartPos=0)
|
(
|
||||||
|
TypeCharC* APC_Search, TypeCharC* APC_Replace, TypeLength AL_StartPos=0
|
||||||
|
)
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
using ZNsMain::ZftGetLengthType ;
|
using ZNsMain::ZftGetLengthType ;
|
||||||
|
|
||||||
@ -2090,11 +2129,19 @@ namespace ZNsMain
|
|||||||
);
|
);
|
||||||
///////////////////////////////////
|
///////////////////////////////////
|
||||||
}/*
|
}/*
|
||||||
template<typename TSearchInfoList> ZCStringBase&
|
template<typename TSearchInfoList> ZCStringBase& ReplaceType
|
||||||
ReplaceType(TypeCharC* APC_Search, TypeCharC* APC_Replace, TypeLength AL_StartPos=0) */
|
(
|
||||||
|
TypeCharC* APC_Search, TypeCharC* APC_Replace, TypeLength AL_StartPos=0
|
||||||
|
)
|
||||||
|
//////////////////////////////////////////////////////////*/
|
||||||
|
|
||||||
ZCStringBase& Replace(
|
ZCStringBase& Replace
|
||||||
const ZCStringBase& AR_CStrSearch, const ZCStringBase& AR_CStrReplace, TypeLength AL_StartPos=0)
|
(
|
||||||
|
const ZCStringBase& AR_CStrSearch ,
|
||||||
|
const ZCStringBase& AR_CStrReplace,
|
||||||
|
TypeLength AL_StartPos=0
|
||||||
|
)
|
||||||
|
/*#################*/
|
||||||
{
|
{
|
||||||
return Replace( AR_CStrSearch. data(), //////
|
return Replace( AR_CStrSearch. data(), //////
|
||||||
AR_CStrReplace.data(),
|
AR_CStrReplace.data(),
|
||||||
@ -2103,8 +2150,11 @@ namespace ZNsMain
|
|||||||
AL_StartPos
|
AL_StartPos
|
||||||
/*/////////*/ ); ////////////////////////////
|
/*/////////*/ ); ////////////////////////////
|
||||||
}/*
|
}/*
|
||||||
ZCStringBase& Replace(
|
ZCStringBase& Replace
|
||||||
const ZCStringBase& AR_CStrSearch, const ZCStringBase& AR_CStrReplace, TypeLength AL_StartPos=0) */
|
(
|
||||||
|
const ZCStringBase& AR_CStrSearch, const ZCStringBase& AR_CStrReplace, TypeLength AL_StartPos=0
|
||||||
|
)
|
||||||
|
###################*/
|
||||||
|
|
||||||
|
|
||||||
template<typename TSearchInfoList> ZCStringBase& ReplaceType(
|
template<typename TSearchInfoList> ZCStringBase& ReplaceType(
|
||||||
@ -2167,13 +2217,13 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
*VPC_Dest++ = APC_Replace[i] ;
|
*VPC_Dest++ = APC_Replace[i] ;
|
||||||
}/*
|
}/*
|
||||||
for(int i=0;i<AL_ReplaceLen;++i)*/
|
//////////////////////////////*/
|
||||||
|
|
||||||
for(int j=AL_SectPos+AL_SectLen; j<AL_OriginLen; ++j)
|
for(int j=AL_SectPos+AL_SectLen; j<AL_OriginLen; ++j)
|
||||||
{
|
{
|
||||||
*VPC_Dest++ = VPC_Origin2[j] ;
|
*VPC_Dest++ = VPC_Origin2[j] ;
|
||||||
}/*
|
}/*
|
||||||
for(int j=AL_SectPos+AL_SectLen; j<AL_OriginLen; ++j)*/
|
///////////////////////////////////////////////////*/
|
||||||
|
|
||||||
ARR_Saver.data()[VL_AllMemSize]=0;
|
ARR_Saver.data()[VL_AllMemSize]=0;
|
||||||
ARR_Saver.CorrectLength(VL_AllMemSize-1);
|
ARR_Saver.CorrectLength(VL_AllMemSize-1);
|
||||||
@ -2189,13 +2239,13 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
*VPC_Dest-- = VPC_Origin2[VL_NowIndex--] ;
|
*VPC_Dest-- = VPC_Origin2[VL_NowIndex--] ;
|
||||||
}/*
|
}/*
|
||||||
while(VL_NowIndex>=AL_SectPos+AL_SectLen)*/
|
///////////////////////////////////////*/
|
||||||
|
|
||||||
for(int i=AL_ReplaceLen-1; i>=0; --i)
|
for(int i=AL_ReplaceLen-1; i>=0; --i)
|
||||||
{
|
{
|
||||||
*VPC_Dest-- = APC_Replace[i] ;
|
*VPC_Dest-- = APC_Replace[i] ;
|
||||||
}/*
|
}/*
|
||||||
for(int i=AL_ReplaceLen-1; i>=0; --i)*/
|
///////////////////////////////////*/
|
||||||
|
|
||||||
ARR_Saver.data()[VL_AllMemSize]=0;
|
ARR_Saver.data()[VL_AllMemSize]=0;
|
||||||
ARR_Saver.CorrectLength(VL_AllMemSize-1);
|
ARR_Saver.CorrectLength(VL_AllMemSize-1);
|
||||||
@ -2221,19 +2271,19 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
*VPC_Dest-- = APC_Origin[VL_NowIndex--] ;
|
*VPC_Dest-- = APC_Origin[VL_NowIndex--] ;
|
||||||
}/*
|
}/*
|
||||||
while(VL_NowIndex>=AL_SectPos+AL_SectLen)*/
|
///////////////////////////////////////*/
|
||||||
|
|
||||||
for(int i=AL_ReplaceLen-1; i>=0; --i)
|
for(int i=AL_ReplaceLen-1; i>=0; --i)
|
||||||
{
|
{
|
||||||
*VPC_Dest-- = APC_Replace[i] ;
|
*VPC_Dest-- = APC_Replace[i] ;
|
||||||
}/*
|
}/*
|
||||||
for(int i=AL_ReplaceLen-1; i>=0; --i)*/
|
///////////////////////////////////*/
|
||||||
|
|
||||||
for(int j=AL_SectPos-1; j>=0; --j)
|
for(int j=AL_SectPos-1; j>=0; --j)
|
||||||
{
|
{
|
||||||
*VPC_Dest-- = APC_Origin[j] ;
|
*VPC_Dest-- = APC_Origin[j] ;
|
||||||
}/*
|
}/*
|
||||||
for(int j=AL_SectPos-1; j>=0; --j)*/
|
////////////////////////////////*/
|
||||||
|
|
||||||
ARR_Saver.data()[VL_AllMemSize]=0;
|
ARR_Saver.data()[VL_AllMemSize]=0;
|
||||||
ARR_Saver.CorrectLength(VL_AllMemSize-1);
|
ARR_Saver.CorrectLength(VL_AllMemSize-1);
|
||||||
@ -2317,12 +2367,8 @@ namespace ZNsMain
|
|||||||
///////////////////////////////////////////////////////////////////////////////////////////////*/
|
///////////////////////////////////////////////////////////////////////////////////////////////*/
|
||||||
|
|
||||||
if(APC_Origin==mpc_Data)
|
if(APC_Origin==mpc_Data)
|
||||||
{
|
{ ReAllocKeep(VL_AllMemCnt); APC_Origin=mpc_Data;} // APC_Origin 다시 초기화
|
||||||
ReAllocKeep(VL_AllMemCnt); APC_Origin=mpc_Data; // APC_Origin 다시 초기화
|
else{ ReAllocKeep(VL_AllMemCnt); }
|
||||||
}
|
|
||||||
else
|
|
||||||
ReAllocKeep(VL_AllMemCnt);
|
|
||||||
//else
|
|
||||||
|
|
||||||
TypeChar* VPC_CharDest = mpc_Data + (VL_AllMemCnt-1);
|
TypeChar* VPC_CharDest = mpc_Data + (VL_AllMemCnt-1);
|
||||||
|
|
||||||
@ -2341,13 +2387,13 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
*VPC_CharDest-- = APC_Origin[VL_NowIndex--];
|
*VPC_CharDest-- = APC_Origin[VL_NowIndex--];
|
||||||
}/*
|
}/*
|
||||||
while(VL_NowIndex>=VL_InnerPos)*/
|
/////////////////////////////*/
|
||||||
|
|
||||||
for(int p=AL_ReplaceLen-1; p>=0; --p)
|
for(int p=AL_ReplaceLen-1; p>=0; --p)
|
||||||
{
|
{
|
||||||
*VPC_CharDest--=APC_Replace[p];
|
*VPC_CharDest--=APC_Replace[p];
|
||||||
}/*
|
}/*
|
||||||
for(int p=AL_ReplaceLen-1; p>=0; --p)*/
|
///////////////////////////////////*/
|
||||||
|
|
||||||
VL_NowIndex=AR_InfoList.ItD(VI_InfoIter).ml_Pos-1;
|
VL_NowIndex=AR_InfoList.ItD(VI_InfoIter).ml_Pos-1;
|
||||||
|
|
||||||
@ -2433,9 +2479,12 @@ namespace ZNsMain
|
|||||||
|
|
||||||
TypeLength VL_SearchPos1; TypeLength VL_SearchPos2;
|
TypeLength VL_SearchPos1; TypeLength VL_SearchPos2;
|
||||||
|
|
||||||
const bool CB_IsSearched = (
|
const bool CB_IsSearched =
|
||||||
|
(
|
||||||
(VL_SearchPos1 = FindPos(mpc_Data, APC_Search1, ml_UseLen, AL_SearchLen1, AL_StartPos ))>=0 &&
|
(VL_SearchPos1 = FindPos(mpc_Data, APC_Search1, ml_UseLen, AL_SearchLen1, AL_StartPos ))>=0 &&
|
||||||
(VL_SearchPos2 = FindPos(mpc_Data, APC_Search2, ml_UseLen, AL_SearchLen2, VL_SearchPos1+AL_SearchLen1))>=0 );
|
(VL_SearchPos2 = FindPos(mpc_Data, APC_Search2, ml_UseLen, AL_SearchLen2, VL_SearchPos1+AL_SearchLen1))>=0
|
||||||
|
);
|
||||||
|
//////////////////////////
|
||||||
|
|
||||||
if(CB_IsSearched)
|
if(CB_IsSearched)
|
||||||
{
|
{
|
||||||
@ -2445,7 +2494,7 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
return *this; // 찾은 두 문자열 사이에 문자가 없을 때
|
return *this; // 찾은 두 문자열 사이에 문자가 없을 때
|
||||||
}/*
|
}/*
|
||||||
if(VL_SearchPos2-VL_SearchPos1-AL_SearchLen1<1)*/
|
/////////////////////////////////////////////*/
|
||||||
|
|
||||||
return ReplaceSection
|
return ReplaceSection
|
||||||
(
|
(
|
||||||
@ -2575,9 +2624,12 @@ namespace ZNsMain
|
|||||||
|
|
||||||
while(VL_SearchPos1<ml_UseLen)
|
while(VL_SearchPos1<ml_UseLen)
|
||||||
{
|
{
|
||||||
const bool CB_IsSearched = (
|
const bool CB_IsSearched =
|
||||||
|
(
|
||||||
(VL_SearchPos1=FindPos(mpc_Data, APC_Search1, ml_UseLen, AL_SearchLen1, VL_SearchPos1 ))>=0 &&
|
(VL_SearchPos1=FindPos(mpc_Data, APC_Search1, ml_UseLen, AL_SearchLen1, VL_SearchPos1 ))>=0 &&
|
||||||
(VL_SearchPos2=FindPos(mpc_Data, APC_Search2, ml_UseLen, AL_SearchLen2, VL_SearchPos1+AL_SearchLen1))>=0 );
|
(VL_SearchPos2=FindPos(mpc_Data, APC_Search2, ml_UseLen, AL_SearchLen2, VL_SearchPos1+AL_SearchLen1))>=0
|
||||||
|
);
|
||||||
|
//////////////////////////
|
||||||
|
|
||||||
if(CB_IsSearched)
|
if(CB_IsSearched)
|
||||||
{
|
{
|
||||||
@ -2589,13 +2641,16 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
VL_SearchPos1 = VL_SearchPos2 + AL_SearchLen2 ; continue;
|
VL_SearchPos1 = VL_SearchPos2 + AL_SearchLen2 ; continue;
|
||||||
}/*
|
}/*
|
||||||
if(VL_SearchPos2-VL_SearchPos1-AL_SearchLen1<1)*/
|
/////////////////////////////////////////////*/
|
||||||
|
|
||||||
ReplaceSection( VL_SearchPos1+AL_SearchLen1,
|
ReplaceSection //////////////////////////////////
|
||||||
VL_SearchPos2-VL_SearchPos1-AL_SearchLen1,
|
(
|
||||||
APC_Replace,
|
VL_SearchPos1+AL_SearchLen1
|
||||||
AL_ReplaceLen
|
, VL_SearchPos2-VL_SearchPos1-AL_SearchLen1
|
||||||
/*/////////*/ ); /////////////////////////////////////////
|
, APC_Replace
|
||||||
|
, AL_ReplaceLen
|
||||||
|
);
|
||||||
|
/////////////////////////////////////////////////
|
||||||
|
|
||||||
VL_SearchPos1 += AL_SearchLen1 + AL_ReplaceLen + AL_SearchLen2 ;
|
VL_SearchPos1 += AL_SearchLen1 + AL_ReplaceLen + AL_SearchLen2 ;
|
||||||
}
|
}
|
||||||
@ -2603,10 +2658,10 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
ReplaceSection /////////////////////
|
ReplaceSection /////////////////////
|
||||||
(
|
(
|
||||||
VL_SearchPos1 ,
|
VL_SearchPos1
|
||||||
VL_SearchPos2-VL_SearchPos1+AL_SearchLen2,
|
, VL_SearchPos2-VL_SearchPos1+AL_SearchLen2
|
||||||
APC_Replace ,
|
, APC_Replace
|
||||||
AL_ReplaceLen
|
, AL_ReplaceLen
|
||||||
);
|
);
|
||||||
/////////////////////////////////////
|
/////////////////////////////////////
|
||||||
|
|
||||||
@ -2717,8 +2772,8 @@ namespace ZNsMain
|
|||||||
|
|
||||||
__for1(TypeLength, i, CL_MaxLoop)
|
__for1(TypeLength, i, CL_MaxLoop)
|
||||||
{
|
{
|
||||||
VL_NeedMemory +=
|
VL_NeedMemory += AL_ReplaceLen -
|
||||||
AL_ReplaceLen-AR_InfoList.ItD(VI_SearchIter).size() ;
|
AR_InfoList.ItD(VI_SearchIter).size() ;
|
||||||
|
|
||||||
AR_InfoList.MoveNextIter(VI_SearchIter);
|
AR_InfoList.MoveNextIter(VI_SearchIter);
|
||||||
}/*
|
}/*
|
||||||
@ -2752,7 +2807,8 @@ namespace ZNsMain
|
|||||||
ReAllocAdd(AL_InsertLen, true);
|
ReAllocAdd(AL_InsertLen, true);
|
||||||
|
|
||||||
int VL_NowIndex = ml_UseLen-1 ;
|
int VL_NowIndex = ml_UseLen-1 ;
|
||||||
TypeChar* VPC_Dest = mpc_Data+ml_UseLen+AL_InsertLen-1 ;
|
TypeChar* VPC_Dest =
|
||||||
|
mpc_Data+ml_UseLen+AL_InsertLen-1 ;
|
||||||
|
|
||||||
while(VL_NowIndex>=AL_InsertPos)
|
while(VL_NowIndex>=AL_InsertPos)
|
||||||
{ *VPC_Dest-- = mpc_Data[VL_NowIndex--] ; }
|
{ *VPC_Dest-- = mpc_Data[VL_NowIndex--] ; }
|
||||||
@ -2870,7 +2926,7 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
ARRL_StartPos=-1; return ARR_CStringSave;
|
ARRL_StartPos=-1; return ARR_CStringSave;
|
||||||
}/*
|
}/*
|
||||||
if(AL_OriginLen<1 || ARRL_StartPos>=AL_OriginLen)*/
|
///////////////////////////////////////////////*/
|
||||||
|
|
||||||
TypeLength VL_Pos1 = FindPos
|
TypeLength VL_Pos1 = FindPos
|
||||||
(
|
(
|
||||||
@ -3317,7 +3373,7 @@ namespace ZNsMain
|
|||||||
|
|
||||||
template<typename TFunctor> static void Split /*#################*/
|
template<typename TFunctor> static void Split /*#################*/
|
||||||
(
|
(
|
||||||
TFunctor AR_TFunctor ,
|
TFunctor AO_TFunctor ,
|
||||||
TypeCharC* APC_OriginChar,
|
TypeCharC* APC_OriginChar,
|
||||||
TypeCharC* APC_SearchChar,
|
TypeCharC* APC_SearchChar,
|
||||||
TypeLength AL_OriginLen ,
|
TypeLength AL_OriginLen ,
|
||||||
@ -3340,9 +3396,11 @@ namespace ZNsMain
|
|||||||
|
|
||||||
if(AL_SearchLen<1)
|
if(AL_SearchLen<1)
|
||||||
{
|
{
|
||||||
AR_TFunctor(APC_OriginChar, AL_OriginLen); return;
|
ZtCTypeData<TFunctor>::GetObjRef(AO_TFunctor)
|
||||||
|
(APC_OriginChar, AL_OriginLen);
|
||||||
|
return; /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
}/*
|
}/*
|
||||||
if(AL_SearchLen<1)*/
|
////////////////*/
|
||||||
|
|
||||||
TypeLength VL_Loop =AL_OriginLen-AL_SearchLen;
|
TypeLength VL_Loop =AL_OriginLen-AL_SearchLen;
|
||||||
TypeLength VL_CopyStartPos=0 ;
|
TypeLength VL_CopyStartPos=0 ;
|
||||||
@ -3356,7 +3414,7 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
if(APC_OriginChar[VL_Index+j]!=APC_SearchChar[j]) break;
|
if(APC_OriginChar[VL_Index+j]!=APC_SearchChar[j]) break;
|
||||||
}/*
|
}/*
|
||||||
for(j=0; j<AL_SearchLen; ++j)*/
|
///////////////////////////*/
|
||||||
|
|
||||||
if(j!=AL_SearchLen) // 못찾은 경우
|
if(j!=AL_SearchLen) // 못찾은 경우
|
||||||
{
|
{
|
||||||
@ -3374,7 +3432,7 @@ namespace ZNsMain
|
|||||||
) ;
|
) ;
|
||||||
//////////////////////////////////////
|
//////////////////////////////////////
|
||||||
}/*
|
}/*
|
||||||
if(VL_Index>VL_CopyStartPos)*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
VL_CopyStartPos = VL_Index += AL_SearchLen;
|
VL_CopyStartPos = VL_Index += AL_SearchLen;
|
||||||
}/*
|
}/*
|
||||||
@ -3383,13 +3441,16 @@ namespace ZNsMain
|
|||||||
|
|
||||||
if(VL_CopyStartPos>=AL_OriginLen)
|
if(VL_CopyStartPos>=AL_OriginLen)
|
||||||
{
|
{
|
||||||
AR_TFunctor(RR(VO_CStringList)); return;
|
ZtCTypeData<TFunctor>::
|
||||||
|
GetObjRef(AO_TFunctor)(RR(VO_CStringList));
|
||||||
|
return; //////////////
|
||||||
}/*
|
}/*
|
||||||
if(VL_CopyStartPos>=AL_OriginLen)*/
|
if(VL_CopyStartPos>=AL_OriginLen)*/
|
||||||
|
|
||||||
if(VO_CStringList.IsEmpty() && VL_CopyStartPos==0)
|
if(VO_CStringList.IsEmpty() && VL_CopyStartPos==0)
|
||||||
{
|
{
|
||||||
AR_TFunctor(APC_OriginChar, AL_OriginLen) ;
|
ZtCTypeData<TFunctor>::GetObjRef
|
||||||
|
(AO_TFunctor)(APC_OriginChar, AL_OriginLen) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -3399,13 +3460,14 @@ namespace ZNsMain
|
|||||||
) ;
|
) ;
|
||||||
//////////////////////////////////////
|
//////////////////////////////////////
|
||||||
|
|
||||||
AR_TFunctor(RR(VO_CStringList)) ;
|
ZtCTypeData<TFunctor>::
|
||||||
|
GetObjRef(AO_TFunctor)(RR(VO_CStringList)) ;
|
||||||
}/*
|
}/*
|
||||||
else*/
|
else*/
|
||||||
}/*
|
}/*
|
||||||
template<typename TFunctor> static void Split ####################
|
template<typename TFunctor> static void Split ####################
|
||||||
(
|
(
|
||||||
TFunctor AR_TFunctor ,
|
TFunctor AO_TFunctor ,
|
||||||
TypeCharC* APC_OriginChar,
|
TypeCharC* APC_OriginChar,
|
||||||
TypeCharC* APC_SearchChar,
|
TypeCharC* APC_SearchChar,
|
||||||
TypeLength AL_OriginLen ,
|
TypeLength AL_OriginLen ,
|
||||||
@ -3415,16 +3477,16 @@ namespace ZNsMain
|
|||||||
|
|
||||||
|
|
||||||
template<typename TFunctor> void Split( //////////////////////////
|
template<typename TFunctor> void Split( //////////////////////////
|
||||||
TFunctor AR_TFunctor ,
|
TFunctor AO_TFunctor ,
|
||||||
TypeCharC* APC_Search ,
|
TypeCharC* APC_Search ,
|
||||||
TypeLength AL_SearchLen ,
|
TypeLength AL_SearchLen ,
|
||||||
TypeLength AL_StartPos=0
|
TypeLength AL_StartPos=0
|
||||||
/*//////////*/ ) /////////////////////////////////////////////////
|
/*//////////*/ ) /////////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
Split(AR_TFunctor, mpc_Data+AL_StartPos, APC_Search, ml_UseLen, AL_SearchLen);
|
Split(AO_TFunctor, mpc_Data+AL_StartPos, APC_Search, ml_UseLen, AL_SearchLen);
|
||||||
}/*
|
}/*
|
||||||
template<typename TFunctor> void Split( //////////////////////////
|
template<typename TFunctor> void Split( //////////////////////////
|
||||||
TFunctor AR_TFunctor ,
|
TFunctor AO_TFunctor ,
|
||||||
TypeCharC* APC_Search ,
|
TypeCharC* APC_Search ,
|
||||||
TypeLength AL_SearchLen,
|
TypeLength AL_SearchLen,
|
||||||
TypeLength AL_StartPos=0
|
TypeLength AL_StartPos=0
|
||||||
@ -3433,7 +3495,7 @@ namespace ZNsMain
|
|||||||
|
|
||||||
template<typename TFunctor, typename TSplitList> static void SplitEx
|
template<typename TFunctor, typename TSplitList> static void SplitEx
|
||||||
(
|
(
|
||||||
TFunctor AR_TFunctor ,
|
TFunctor AO_TFunctor ,
|
||||||
TypeCharC* APC_OriginChar ,
|
TypeCharC* APC_OriginChar ,
|
||||||
TypeCharC* APC_SearchChar ,
|
TypeCharC* APC_SearchChar ,
|
||||||
TypeLength AL_OriginLen ,
|
TypeLength AL_OriginLen ,
|
||||||
@ -3456,7 +3518,9 @@ namespace ZNsMain
|
|||||||
|
|
||||||
if(AL_SearchLen<1)
|
if(AL_SearchLen<1)
|
||||||
{
|
{
|
||||||
AR_TFunctor(APC_OriginChar, AL_OriginLen); return;
|
ZtCTypeData<TFunctor>::GetObjRef
|
||||||
|
(AO_TFunctor)(APC_OriginChar, AL_OriginLen);
|
||||||
|
return; ////////////////////////
|
||||||
}/*
|
}/*
|
||||||
if(AL_SearchLen<1)*/
|
if(AL_SearchLen<1)*/
|
||||||
|
|
||||||
@ -3498,13 +3562,15 @@ namespace ZNsMain
|
|||||||
|
|
||||||
if(VL_CopyStartPos>=AL_OriginLen)
|
if(VL_CopyStartPos>=AL_OriginLen)
|
||||||
{
|
{
|
||||||
AR_TFunctor(RR(VO_CStringList)); return;
|
ZtCTypeData<TFunctor>::GetObjRef
|
||||||
|
(AO_TFunctor)(RR(VO_CStringList)); return;
|
||||||
}/*
|
}/*
|
||||||
if(VL_CopyStartPos>=AL_OriginLen)*/
|
if(VL_CopyStartPos>=AL_OriginLen)*/
|
||||||
|
|
||||||
if(VO_CStringList.IsEmpty() && VL_CopyStartPos==0)
|
if(VO_CStringList.IsEmpty() && VL_CopyStartPos==0)
|
||||||
{
|
{
|
||||||
AR_TFunctor(APC_OriginChar,AL_OriginLen) ;
|
ZtCTypeData<TFunctor>::GetObjRef
|
||||||
|
(AO_TFunctor)(APC_OriginChar, AL_OriginLen) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -3515,13 +3581,14 @@ namespace ZNsMain
|
|||||||
) ;
|
) ;
|
||||||
///////////////////////////////////////
|
///////////////////////////////////////
|
||||||
|
|
||||||
AR_TFunctor(RR(VO_CStringList)) ;
|
ZtCTypeData<TFunctor>::GetObjRef
|
||||||
|
(AO_TFunctor)(RR(VO_CStringList)) ;
|
||||||
}/*
|
}/*
|
||||||
else*/
|
else*/
|
||||||
}/*
|
}/*
|
||||||
template<typename TFunctor, typename TSplitList> static void SplitEx
|
template<typename TFunctor, typename TSplitList> static void SplitEx
|
||||||
(
|
(
|
||||||
TFunctor AR_TFunctor ,
|
TFunctor AO_TFunctor ,
|
||||||
TypeCharC* APC_OriginChar,
|
TypeCharC* APC_OriginChar,
|
||||||
TypeCharC* APC_SearchChar,
|
TypeCharC* APC_SearchChar,
|
||||||
TypeLength AL_OriginLen ,
|
TypeLength AL_OriginLen ,
|
||||||
@ -3531,14 +3598,14 @@ namespace ZNsMain
|
|||||||
|
|
||||||
|
|
||||||
template<typename TFunctor, typename TSplitList> /////////////////
|
template<typename TFunctor, typename TSplitList> /////////////////
|
||||||
void SplitEx( TFunctor AR_TFunctor ,
|
void SplitEx( TFunctor AO_TFunctor ,
|
||||||
TypeCharC* APC_SearchChar,
|
TypeCharC* APC_SearchChar,
|
||||||
TypeLength AL_SearchLen ,
|
TypeLength AL_SearchLen ,
|
||||||
TypeLength AL_StartPos=0
|
TypeLength AL_StartPos=0
|
||||||
/*///////*/ ) ////////////////////////////////////////////////////
|
/*///////*/ ) ////////////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
SplitEx<TFunctor, TSplitList>( ///////////////
|
SplitEx<TFunctor, TSplitList>( ///////////////
|
||||||
AR_TFunctor ,
|
AO_TFunctor ,
|
||||||
mpc_Data+AL_StartPos,
|
mpc_Data+AL_StartPos,
|
||||||
APC_SearchChar ,
|
APC_SearchChar ,
|
||||||
ml_UseLen ,
|
ml_UseLen ,
|
||||||
@ -3546,7 +3613,7 @@ namespace ZNsMain
|
|||||||
/*//////////*/ ); ////////////////////////////
|
/*//////////*/ ); ////////////////////////////
|
||||||
}/*
|
}/*
|
||||||
template<typename TFunctor, typename TSplitList> /////////////////
|
template<typename TFunctor, typename TSplitList> /////////////////
|
||||||
void SplitEx( TFunctor AR_TFunctor ,
|
void SplitEx( TFunctor AO_TFunctor ,
|
||||||
TypeCharC* APC_SearchChar,
|
TypeCharC* APC_SearchChar,
|
||||||
TypeLength AL_SearchLen ,
|
TypeLength AL_SearchLen ,
|
||||||
TypeLength AL_StartPos=0
|
TypeLength AL_StartPos=0
|
||||||
@ -3555,7 +3622,7 @@ namespace ZNsMain
|
|||||||
|
|
||||||
template<typename TFunctor> static void SplitEach /*############*/
|
template<typename TFunctor> static void SplitEach /*############*/
|
||||||
(
|
(
|
||||||
TFunctor AR_TFunctor ,
|
TFunctor AO_TFunctor ,
|
||||||
TypeCharC* APC_OriginChar ,
|
TypeCharC* APC_OriginChar ,
|
||||||
TypeCharC* APC_SearchChar ,
|
TypeCharC* APC_SearchChar ,
|
||||||
TypeLength AL_OriginLen ,
|
TypeLength AL_OriginLen ,
|
||||||
@ -3565,13 +3632,15 @@ namespace ZNsMain
|
|||||||
/*##############################################################*/
|
/*##############################################################*/
|
||||||
{
|
{
|
||||||
/* bool AB_DoExecNull 이 true 이면 구분 문자로 잘린 문자열 길이
|
/* bool AB_DoExecNull 이 true 이면 구분 문자로 잘린 문자열 길이
|
||||||
가 0 인 경우에도 AR_TFunctor 를 수행한다. */
|
가 0 인 경우에도 AO_TFunctor 를 수행한다. */
|
||||||
|
|
||||||
if(AL_OriginLen<1) return; int VL_SearchCount=0; /*####################*/
|
if(AL_OriginLen<1) return; int VL_SearchCount=0; /*####################*/
|
||||||
|
|
||||||
if(AL_SearchLen<1)
|
if(AL_SearchLen<1)
|
||||||
{
|
{
|
||||||
AR_TFunctor( APC_OriginChar, AL_OriginLen , ++VL_SearchCount); return;
|
ZtCTypeData<TFunctor>::GetObjRef(AO_TFunctor)
|
||||||
|
(APC_OriginChar, AL_OriginLen , ++VL_SearchCount);
|
||||||
|
return; /////////////////////////////////////
|
||||||
}/*
|
}/*
|
||||||
if(AL_SearchLen<1)*/
|
if(AL_SearchLen<1)*/
|
||||||
|
|
||||||
@ -3599,17 +3668,18 @@ namespace ZNsMain
|
|||||||
|
|
||||||
if(VL_Index>VL_CopyStartPos)
|
if(VL_Index>VL_CopyStartPos)
|
||||||
{
|
{
|
||||||
AR_TFunctor
|
ZtCTypeData<TFunctor>::GetObjRef(AO_TFunctor)
|
||||||
(
|
(
|
||||||
APC_OriginChar+VL_CopyStartPos,
|
APC_OriginChar+VL_CopyStartPos,
|
||||||
VL_Index -VL_CopyStartPos,
|
VL_Index -VL_CopyStartPos,
|
||||||
++VL_SearchCount
|
++VL_SearchCount
|
||||||
) ;
|
) ;
|
||||||
///////////
|
/////////////////////////////////////////////
|
||||||
}
|
}
|
||||||
else if(AB_DoExecNull==true)
|
else if(AB_DoExecNull==true)
|
||||||
{
|
{
|
||||||
AR_TFunctor(0, 0, ++VL_SearchCount) ;
|
ZtCTypeData<TFunctor>::GetObjRef
|
||||||
|
(AO_TFunctor)(0, 0, ++VL_SearchCount) ;
|
||||||
}/*
|
}/*
|
||||||
else if(AB_DoExecNull==true)*/
|
else if(AB_DoExecNull==true)*/
|
||||||
|
|
||||||
@ -3622,26 +3692,26 @@ namespace ZNsMain
|
|||||||
|
|
||||||
if(VL_SearchCount==0 && VL_CopyStartPos==0)
|
if(VL_SearchCount==0 && VL_CopyStartPos==0)
|
||||||
{
|
{
|
||||||
AR_TFunctor ////////
|
ZtCTypeData<TFunctor>::GetObjRef(AO_TFunctor)
|
||||||
(
|
(
|
||||||
APC_OriginChar, AL_OriginLen, ++VL_SearchCount
|
APC_OriginChar, AL_OriginLen, ++VL_SearchCount
|
||||||
) ;
|
) ;
|
||||||
////////////////////
|
/////////////////////////////////////////////
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
AR_TFunctor ////////
|
ZtCTypeData<TFunctor>::GetObjRef(AO_TFunctor)
|
||||||
(
|
(
|
||||||
APC_OriginChar+VL_CopyStartPos,
|
APC_OriginChar+VL_CopyStartPos,
|
||||||
AL_OriginLen -VL_CopyStartPos,
|
AL_OriginLen -VL_CopyStartPos,
|
||||||
++VL_SearchCount
|
++VL_SearchCount
|
||||||
) ;
|
) ;
|
||||||
////////////////////
|
/////////////////////////////////////////////
|
||||||
}
|
}
|
||||||
}/*
|
}/*
|
||||||
template<typename TFunctor> static void SplitEach ################
|
template<typename TFunctor> static void SplitEach ################
|
||||||
(
|
(
|
||||||
TFunctor AR_TFunctor ,
|
TFunctor AO_TFunctor ,
|
||||||
TypeCharC* APC_OriginChar ,
|
TypeCharC* APC_OriginChar ,
|
||||||
TypeCharC* APC_SearchChar ,
|
TypeCharC* APC_SearchChar ,
|
||||||
TypeLength AL_OriginLen ,
|
TypeLength AL_OriginLen ,
|
||||||
@ -3652,7 +3722,7 @@ namespace ZNsMain
|
|||||||
|
|
||||||
|
|
||||||
template<typename TFunctor> void SplitEach( /*##################*/
|
template<typename TFunctor> void SplitEach( /*##################*/
|
||||||
TFunctor AR_TFunctor ,
|
TFunctor AO_TFunctor ,
|
||||||
TypeCharC* APC_SearchChar,
|
TypeCharC* APC_SearchChar,
|
||||||
TypeLength AL_SearchLen ,
|
TypeLength AL_SearchLen ,
|
||||||
TypeLength AL_StartPos=0 ,
|
TypeLength AL_StartPos=0 ,
|
||||||
@ -3660,7 +3730,7 @@ namespace ZNsMain
|
|||||||
/*#########*/ ) /*##############################################*/
|
/*#########*/ ) /*##############################################*/
|
||||||
{
|
{
|
||||||
SplitEach<TFunctor>( /*####################*/
|
SplitEach<TFunctor>( /*####################*/
|
||||||
AR_TFunctor ,
|
AO_TFunctor ,
|
||||||
mpc_Data+AL_StartPos,
|
mpc_Data+AL_StartPos,
|
||||||
APC_SearchChar ,
|
APC_SearchChar ,
|
||||||
ml_UseLen ,
|
ml_UseLen ,
|
||||||
@ -3669,7 +3739,7 @@ namespace ZNsMain
|
|||||||
/*########*/ ); /*########################*/
|
/*########*/ ); /*########################*/
|
||||||
}/*
|
}/*
|
||||||
template<typename TFunctor> void SplitEach( #####################
|
template<typename TFunctor> void SplitEach( #####################
|
||||||
TFunctor AR_TFunctor ,
|
TFunctor AO_TFunctor ,
|
||||||
TypeCharC* APC_SearchChar,
|
TypeCharC* APC_SearchChar,
|
||||||
TypeLength AL_SearchLen ,
|
TypeLength AL_SearchLen ,
|
||||||
TypeLength AL_StartPos=0 ,
|
TypeLength AL_StartPos=0 ,
|
||||||
|
Reference in New Issue
Block a user