commit 2025-10-20 20:35 edit a bit ZCppMain/ZtCMainChars.H

This commit is contained in:
2025-10-20 20:35:11 +09:00
parent 3f4e40147b
commit 5cd24d6e94

View File

@ -3069,14 +3069,16 @@ namespace ZNsMain
/////////////////////////////////////////////////////////////////////////*/
template<typename TSearchInfoList> static void MakeSplitInfoList(
TypeCharC* APC_OriginChar,
TypeCharC* APC_Search ,
TypeLength AL_OriginLen ,
TypeLength AL_SearchLen ,
TypeLength AL_StartPos ,
TSearchInfoList& ARR_InfoList
/*//////////*/ ) //////////////////////////////////////////////*/
template<typename TSearchInfoList> static void MakeSplitInfoList //////////
(
TypeCharC* APC_OriginChar,
TypeCharC* APC_Search ,
TypeLength AL_OriginLen ,
TypeLength AL_SearchLen ,
TypeLength AL_StartPos ,
TSearchInfoList& ARR_InfoList
)
/*#######################################################################*/
{
typedef typename TSearchInfoList::TypeData ZCSearchInfo;
@ -3128,14 +3130,16 @@ namespace ZNsMain
}/*
if(VL_PrevPos<AL_OriginLen)*/
}/*
template<typename TSearchInfoList> static void MakeSplitInfoList(
TypeCharC* APC_OriginChar,
TypeCharC* APC_Search ,
TypeLength AL_OriginLen ,
TypeLength AL_SearchLen ,
TypeLength AL_StartPos ,
TSearchInfoList& ARR_InfoList
////////////// ) //////////////////////////////////////////////*/
template<typename TSearchInfoList> static void MakeSplitInfoList //////////
(
TypeCharC* APC_OriginChar,
TypeCharC* APC_Search ,
TypeLength AL_OriginLen ,
TypeLength AL_SearchLen ,
TypeLength AL_StartPos ,
TSearchInfoList& ARR_InfoList
)
#########################################################################*/
template<typename TTyChars, typename TSearchInfoList> static void MakeSplitInfoList
(
@ -3160,10 +3164,12 @@ namespace ZNsMain
// APC_Search 문자열을 찾아서, 있으면 그 문자열 길이까지 구한다.
static TypeLength GetLength_Find(
TypeCharC* APC_Origin, TypeLength AL_OriginLen,
TypeCharC* APC_Search, TypeLength AL_SearchLen
/*//////////*/ )
static TypeLength GetLength_Find //////////////////////////////////////////
(
TypeCharC* APC_Origin, TypeLength AL_OriginLen,
TypeCharC* APC_Search, TypeLength AL_SearchLen
)
/*#######################################################################*/
{
if(AL_OriginLen<1 || AL_SearchLen<1 || AL_OriginLen<AL_SearchLen)
return 0;
@ -3196,10 +3202,12 @@ namespace ZNsMain
return 0;
}/*
static TypeLength GetLength_Find(
TypeCharC* APC_Origin, TypeLength AL_OriginLen,
TypeCharC* APC_Search, TypeLength AL_SearchLen
////////////// ) */
static TypeLength GetLength_Find //////////////////////////////////////////
(
TypeCharC* APC_Origin, TypeLength AL_OriginLen,
TypeCharC* APC_Search, TypeLength AL_SearchLen
)
#########################################################################*/
template<typename TTyChars> static TypeLength
GetLength_Find(const TTyChars& CCharsOrigin, const TTyChars& CCharsSearch)
@ -3216,8 +3224,11 @@ namespace ZNsMain
/* ARA_SearchArray 의 앞 원소인 문자열부터 찾기 시작하므로,
먼저 찾아야 하는 문자열은 ARA_SearchArray 의 앞에 있는 것이 좋다. */
template<typename TStringArray> static TypeLength GetLength_Find2(
TypeCharC* APC_Origin, TypeLength AL_OriginLen, const TStringArray& ARA_SearchArray)
template<typename TStringArray> static TypeLength GetLength_Find2 /////////
(
TypeCharC* APC_Origin, TypeLength AL_OriginLen, const TStringArray& ARA_SearchArray
)
/*#######################################################################*/
{
TypeLength VL_ArrSize=ARA_SearchArray.size();
TypeLength VL_NowSize;
@ -3245,8 +3256,11 @@ namespace ZNsMain
return 0;
}/*
template<typename TStringArray> static TypeLength GetLength_Find2(
TypeCharC* APC_Origin, TypeLength AL_OriginLen, const TStringArray& ARA_SearchArray) */
template<typename TStringArray> static TypeLength GetLength_Find2 /////////
(
TypeCharC* APC_Origin, TypeLength AL_OriginLen, const TStringArray& ARA_SearchArray
)
#########################################################################*/
template<typename TTyChars, typename TStringArray>
static TypeLength GetLength_Find2(const TTyChars& AR_CCharsOrigin, const TStringArray& ARA_SearchArray)
@ -3259,10 +3273,12 @@ namespace ZNsMain
// APC_Search 문자열의 문자 중에 하나라도 일치하면 그 길이까지 구해온다.
static TypeLength GetLength_FindChar(
TypeCharC* APC_Origin, TypeLength AL_OriginLen,
TypeCharC* APC_Search, TypeLength AL_SearchLen
/*//////////*/ )
static TypeLength GetLength_FindChar //////////////////////////////////////
(
TypeCharC* APC_Origin, TypeLength AL_OriginLen,
TypeCharC* APC_Search, TypeLength AL_SearchLen
)
/*#######################################################################*/
{
if(AL_OriginLen<1 || AL_SearchLen<1) return 0;
@ -3290,24 +3306,31 @@ namespace ZNsMain
return 0;
}/*
static TypeLength GetLength_FindChar(
TypeCharC* APC_Origin, TypeLength AL_OriginLen,
TypeCharC* APC_Search, TypeLength AL_SearchLen
////////////// ) */
static TypeLength GetLength_FindChar //////////////////////////////////////
(
TypeCharC* APC_Origin, TypeLength AL_OriginLen,
TypeCharC* APC_Search, TypeLength AL_SearchLen
)
#########################################################################*/
template<typename TTyChars>
static TypeLength GetLength_FindChar(const TTyChars& CCharsOrigin, const TTyChars& CCharsSearch)
template<typename TTyChars> static TypeLength GetLength_FindChar
(const TTyChars& CCharsOrigin, const TTyChars& CCharsSearch)
{
return ZtCMainChars::GetLength_FindChar(
CCharsOrigin.data(), CCharsOrigin.size(),
CCharsSearch.data(), CCharsSearch.size()
/*//////////*/ );
}/*
template<typename TTyChars>
static TypeLength GetLength_FindChar(const TTyChars& CCharsOrigin, const TTyChars& CCharsSearch) */
}
/*#######################################################################*/
template<typename TStringArray> static TypeLength GetLength_FindChar2(
TypeCharC* APC_Origin, TypeLength AL_OriginLen, const TStringArray& ARA_SearchArray)
template<typename TStringArray> static TypeLength GetLength_FindChar2 /////
(
TypeCharC* APC_Origin ,
TypeLength AL_OriginLen ,
const TStringArray& ARA_SearchArray
)
/*#######################################################################*/
{
TypeLength VL_ArrSize=ARA_SearchArray.size();
TypeLength VL_NowSize=0;
@ -3337,8 +3360,13 @@ namespace ZNsMain
return VL_NowSize;
}/*
template<typename TStringArray> static TypeLength GetLength_FindChar2(
TypeCharC* APC_Origin, TypeLength AL_OriginLen, const TStringArray& ARA_SearchArray) */
template<typename TStringArray> static TypeLength GetLength_FindChar2 /////
(
TypeCharC* APC_Origin ,
TypeLength AL_OriginLen ,
const TStringArray& ARA_SearchArray
)
#########################################################################*/
template<typename TTyChars, typename TStringArray>
static TypeLength GetLength_FindChar2(const TTyChars& AR_CCharsOrigin, const TStringArray& ARA_SearchArray)
@ -3352,13 +3380,13 @@ namespace ZNsMain
/* APC_Search 문자열을 찾아서, 있으면 그 문자열 길이까지 구한다.
단 찾는 문자열 앞에 APC_Escape 문자열이 없어야 한다. */
static TypeLength GetLength_FindEscape
static TypeLength GetLength_FindEscape ////////////////////////////////////
(
TypeCharC* APC_Origin, TypeLength AL_OriginLen,
TypeCharC* APC_Search, TypeLength AL_SearchLen,
TypeCharC* APC_Escape, TypeLength AL_EscapeLen
)
//////////////////////////////////////
/*#######################################################################*/
{
if(AL_EscapeLen<1) return ZtCMainChars::
GetLength_Find(APC_Origin, AL_OriginLen, APC_Search,AL_SearchLen);
@ -3411,13 +3439,13 @@ namespace ZNsMain
return 0;
}/*
static TypeLength GetLength_FindEscape
static TypeLength GetLength_FindEscape ////////////////////////////////////
(
TypeCharC* APC_Origin, TypeLength AL_OriginLen,
TypeCharC* APC_Search, TypeLength AL_SearchLen,
TypeCharC* APC_Escape, TypeLength AL_EscapeLen
)
////////////////////////////////////*/
#########################################################################*/
template<typename TTyChars> static TypeLength GetLength_FindEscape(
const TTyChars& AR_CCharsOrigin, const TTyChars& AR_CCharsSearch, const TTyChars& AR_CCharsEscape)
@ -3559,10 +3587,12 @@ namespace ZNsMain
static TypeLength GetLength_FindSerial(const TTyChars& AR_CCharsOrigin, const TStringArray& ARA_SearchArray) */
static TypeLength GetLength_FindSerialChar(
TypeCharC* APC_Origin, TypeLength AL_OriginLen,
TypeCharC* APC_Search, TypeLength AL_SearchLen
/*//////////*/ )
static TypeLength GetLength_FindSerialChar ////////////////////////////////
(
TypeCharC* APC_Origin, TypeLength AL_OriginLen,
TypeCharC* APC_Search, TypeLength AL_SearchLen
)
/*#######################################################################*/
{
// APC_Search 의 각 문자가 APC_Origin 에 순서대로 있어야 한다.
@ -3590,10 +3620,12 @@ namespace ZNsMain
return VL_FindCnt<AL_SearchLen ? 0 : VL_NowPos ;
}/*
static TypeLength GetLength_FindSerialChar(
TypeCharC* APC_Origin, TypeLength AL_OriginLen,
TypeCharC* APC_Search, TypeLength AL_SearchLen
////////////// ) */
static TypeLength GetLength_FindSerialChar
(
TypeCharC* APC_Origin, TypeLength AL_OriginLen,
TypeCharC* APC_Search, TypeLength AL_SearchLen
)
#########################################################################*/
template<typename TTyChars>
static TypeLength GetLength_FindSerialChar(const TTyChars& CCharsOrigin, const TTyChars& CCharsSearch)
@ -3606,8 +3638,11 @@ namespace ZNsMain
template<typename TTyChars>
static TypeLength GetLength_FindSerialChar(const TTyChars& CCharsOrigin, const TTyChars& CCharsSearch) */
template<typename TStringArray> static TypeLength GetLength_FindSerialChar2(
TypeCharC* APC_Origin, TypeLength AL_OriginLen, const TStringArray& ARA_SearchArray)
template<typename TStringArray> static TypeLength GetLength_FindSerialChar2
(
TypeCharC* APC_Origin, TypeLength AL_OriginLen, const TStringArray& ARA_SearchArray
)
/*#######################################################################*/
{
TypeLength VL_ArrSize=ARA_SearchArray.size();
TypeLength VL_NowSize=0;
@ -3638,8 +3673,11 @@ namespace ZNsMain
return VL_SumSize;
}/*
template<typename TStringArray> static TypeLength GetLength_FindSerialChar2(
TypeCharC* APC_Origin, TypeLength AL_OriginLen, const TStringArray& ARA_SearchArray) */
template<typename TStringArray> static TypeLength GetLength_FindSerialChar2
(
TypeCharC* APC_Origin, TypeLength AL_OriginLen, const TStringArray& ARA_SearchArray
)
#########################################################################*/
template<typename TTyChars, typename TStringArray>
static TypeLength GetLength_FindSerialChar2(const TTyChars& AR_CCharsOrigin, const TStringArray& ARA_SearchArray)
@ -3650,13 +3688,13 @@ namespace ZNsMain
static TypeLength GetLength_FindSerialChar2(const TTyChars& AR_CCharsOrigin, const TStringArray& ARA_SearchArray) */
template<typename TStringArray> static TypeLength GetLength_StartFind
template<typename TStringArray> static TypeLength GetLength_StartFind /////
(
TypeCharC* APC_Origin ,
TypeLength AL_Length , const
TStringArray& ARA_SearchArray
)
/*#################################################################*/
/*#######################################################################*/
{
/*//////////////////////////////////////////////////
@ -3709,13 +3747,14 @@ namespace ZNsMain
return VL_SumSize;
}/*
template<typename TStringArray> static TypeLength GetLength_StartFind
template<typename TStringArray> static TypeLength GetLength_StartFind /////
(
TypeCharC* APC_Origin,
TypeLength AL_Length , const
TStringArray& ARA_SearchArray
) */
/*#################################################################*/
)
#########################################################################*/
template<typename TTyChars, typename TStringArray>
static TypeLength GetLength_StartFind(const TTyChars& AR_CCharsOrigin, const TStringArray& ARA_SearchArray)
@ -3728,12 +3767,12 @@ namespace ZNsMain
// GetLength_FindSerialChar() 와 비슷하나, 1 번 원소의 1 번 문자로 시작해야 하는 점이 다르다.
static TypeLength GetLength_StartFindChar
static TypeLength GetLength_StartFindChar /////////////////////////////////
(
TypeCharC* APC_Origin, TypeLength AL_OriginLen,
TypeCharC* APC_Search, TypeLength AL_SearchLen
)
/////////////////////////////////////////
/*#######################################################################*/
{
// APC_Search 의 각 문자가 APC_Origin 에 순서대로 있어야 한다.
@ -3771,12 +3810,12 @@ namespace ZNsMain
return VL_FindCnt<AL_SearchLen ? 0 : VL_NowPos ;
}/*
static TypeLength GetLength_StartFindChar
static TypeLength GetLength_StartFindChar /////////////////////////////////
(
TypeCharC* APC_Origin, TypeLength AL_OriginLen,
TypeCharC* APC_Search, TypeLength AL_SearchLen
)
///////////////////////////////////////*/
#########################################################################*/
template<typename TTyChars> static TypeLength
GetLength_StartFindChar(const TTyChars& CCharsOrigin, const TTyChars& CCharsSearch)
@ -3965,12 +4004,12 @@ namespace ZNsMain
static TypeLength GetLength_PermitRange(const TTyChars& AR_CChars, const TStringArray& ARA_SearchArray) */
static TypeLength GetLength_PermitChar
static TypeLength GetLength_PermitChar ////////////////////////////////////
(
TypeCharC* APC_Origin, TypeLength AL_Length,
TypeCharC* APC_Permit, TypeLength AL_PermitLength
)
//////////////////////////////////////
/*#######################################################################*/
{
if(AL_Length<1 || AL_PermitLength<1) return 0;
@ -4000,12 +4039,13 @@ namespace ZNsMain
return VL_SearchLen;
}/*
static TypeLength GetLength_PermitChar
static TypeLength GetLength_PermitChar ////////////////////////////////////
(
TypeCharC* APC_Origin, TypeLength AL_Length,
TypeCharC* APC_Permit, TypeLength AL_PermitLength
)
////////////////////////////////////*/
#########################################################################*/
template<typename TTyChars>
static TypeLength GetLength_PermitChar(const TTyChars& AR_CCharsOrigin, const TTyChars& AR_CCharsSearch)
@ -4331,12 +4371,12 @@ namespace ZNsMain
const TTyChars& AR_CChars, const TStringArray& ARA_SearchArray) */
static TypeLength GetLength_NoPermitChar
static TypeLength GetLength_NoPermitChar //////////////////////////////////
(
TypeCharC* APC_Origin , TypeLength AL_Length,
TypeCharC* APC_NoPermit, TypeLength AL_NoPermitLength
)
////////////////////////////////////////
/*#######################################################################*/
{
if(AL_Length<1 || AL_NoPermitLength<1) return 0;
@ -4362,12 +4402,12 @@ namespace ZNsMain
return VL_SearchLen;
}/*
static TypeLength GetLength_NoPermitChar
static TypeLength GetLength_NoPermitChar //////////////////////////////////
(
TypeCharC* APC_Origin , TypeLength AL_Length,
TypeCharC* APC_NoPermit, TypeLength AL_NoPermitLength
)
//////////////////////////////////////*/
#########################################################################*/
template<typename TTyChars>
static TypeLength GetLength_NoPermitChar(
@ -4437,12 +4477,12 @@ namespace ZNsMain
const TTyChars& AR_CCharsOrigin, const TStringArray& ARA_SearchArray) */
static TypeLength GetLength_NoPermitCharRange
static TypeLength GetLength_NoPermitCharRange ///////////////////////////
(
TypeCharC* APC_Origin, TypeLength AL_Length,
TypeCharC* APC_Permit, TypeLength AL_PermitLength
)
/*#########################################*/
/*#####################################################################*/
{
/*////////////////////////////////////////////////
@ -4484,12 +4524,12 @@ namespace ZNsMain
return VL_SearchLen;
}/*
static TypeLength GetLength_NoPermitCharRange
static TypeLength GetLength_NoPermitCharRange ///////////////////////////
(
TypeCharC* APC_Origin, TypeLength AL_Length,
TypeCharC* APC_Permit, TypeLength AL_PermitLength
)
###########################################*/
#######################################################################*/
template<typename TTyChars>
static TypeLength GetLength_NoPermitCharRange(const TTyChars& AR_CCharsOrigin, const TTyChars& AR_CCharsSearch)
@ -4657,15 +4697,16 @@ namespace ZNsMain
int AI_RepeatMin, int AI_RepeatMax, const TTyChars& AR_CChars, const TStringArray& ARA_SearchArray, ZNsEnum::ZESearchMax AE_ESearchMax=ZNsEnum::ZESearchMax_Over) */
template<typename TStringArray>
static TypeLength GetLength_Repeat_FindChar( ///////////////////////////////
int AI_RepeatMin ,
int AI_RepeatMax ,
TypeCharC* APC_Origin ,
TypeLength AL_Length ,
const TStringArray& ARA_SearchArray ,
ZNsEnum::ZESearchMax AE_ESearchMax=ZNsEnum::ZESearchMax_Over
/*/////////*/ )
template<typename TStringArray> static TypeLength GetLength_Repeat_FindChar
(
int AI_RepeatMin ,
int AI_RepeatMax ,
TypeCharC* APC_Origin ,
TypeLength AL_Length ,
const TStringArray& ARA_SearchArray ,
ZNsEnum::ZESearchMax AE_ESearchMax=ZNsEnum::ZESearchMax_Over
)
/*#######################################################################*/
{
int VI_RepeatCnt=0;
TypeLength VL_LengthAll=0;
@ -4729,15 +4770,16 @@ namespace ZNsMain
return VL_LengthAll;
}/*
template<typename TStringArray>
static TypeLength GetLength_Repeat_FindChar( ///////////////////////////////
int AI_RepeatMin ,
int AI_RepeatMax ,
TypeCharC* APC_Origin ,
TypeLength AL_Length ,
const TStringArray& ARA_SearchArray ,
ZNsEnum::ZESearchMax AE_ESearchMax=ZNsEnum::ZESearchMax_Over
/?/////////// ) */
template<typename TStringArray> static TypeLength GetLength_Repeat_FindChar
(
int AI_RepeatMin ,
int AI_RepeatMax ,
TypeCharC* APC_Origin ,
TypeLength AL_Length ,
const TStringArray& ARA_SearchArray ,
ZNsEnum::ZESearchMax AE_ESearchMax=ZNsEnum::ZESearchMax_Over
)
#########################################################################*/
template<typename TTyChars, typename TStringArray>
static TypeLength GetLength_Repeat_FindChar(
@ -5825,15 +5867,17 @@ namespace ZNsMain
//////////////////////////////////////////////////////////////////////////////*/
template<typename TTyChars, typename TStringArray>
static TypeLength GetLength_Repeat_NoPermitRange(
int AI_RepeatMin, int AI_RepeatMax, const TTyChars& AR_CChars, const TStringArray& ARA_SearchArray, ZNsEnum::ZESearchMax AE_ESearchMax=ZNsEnum::ZESearchMax_Over)
static TypeLength GetLength_Repeat_NoPermitRange
(
int AI_RepeatMin, int AI_RepeatMax ,
const TTyChars& AR_CChars , const TStringArray& ARA_SearchArray,
ZNsEnum::ZESearchMax AE_ESearchMax=ZNsEnum::ZESearchMax_Over
)
{
return ZtCMainChars::GetLength_Repeat_NoPermitRange(
AI_RepeatMin, AI_RepeatMax, AR_CChars.data(), AR_CChars.size(), ARA_SearchArray, AE_ESearchMax);
}/*
template<typename TTyChars, typename TStringArray>
static TypeLength GetLength_Repeat_NoPermitRange(
int AI_RepeatMin, int AI_RepeatMax, const TTyChars& AR_CChars, const TStringArray& ARA_SearchArray, ZNsEnum::ZESearchMax AE_ESearchMax=ZNsEnum::ZESearchMax_Over) */
}
/*###########################################################################*/
template<typename TStringArray> static TypeLength GetLength_Repeat_NoPermitChar
@ -5925,15 +5969,18 @@ namespace ZNsMain
#############################################################################*/
template<typename TTyChars, typename TStringArray>
static TypeLength GetLength_Repeat_NoPermitChar(
int AI_RepeatMin, int AI_RepeatMax, const TTyChars& AR_CChars, const TStringArray& ARA_SearchArray, ZNsEnum::ZESearchMax AE_ESearchMax=ZNsEnum::ZESearchMax_Over)
static TypeLength GetLength_Repeat_NoPermitChar
(
int AI_RepeatMin, int AI_RepeatMax ,
const TTyChars& AR_CChars , const TStringArray& ARA_SearchArray,
ZNsEnum::ZESearchMax AE_ESearchMax=ZNsEnum::ZESearchMax_Over
)
/*################################################################################*/
{
return ZtCMainChars::GetLength_Repeat_NoPermitChar(
AI_RepeatMin, AI_RepeatMax, AR_CChars.data(), AR_CChars.size(), ARA_SearchArray, AE_ESearchMax);
}/*
template<typename TTyChars, typename TStringArray>
static TypeLength GetLength_Repeat_NoPermitChar(
int AI_RepeatMin, int AI_RepeatMax, const TTyChars& AR_CChars, const TStringArray& ARA_SearchArray, ZNsEnum::ZESearchMax AE_ESearchMax=ZNsEnum::ZESearchMax_Over) */
}
/*################################################################################*/
template<typename TStringArray> static TypeLength GetLength_Repeat_NoPermitCharRange
@ -6025,15 +6072,18 @@ namespace ZNsMain
##################################################################################*/
template<typename TTyChars, typename TStringArray>
static TypeLength GetLength_Repeat_NoPermitCharRange(
int AI_RepeatMin, int AI_RepeatMax, const TTyChars& AR_CChars, const TStringArray& ARA_SearchArray, ZNsEnum::ZESearchMax AE_ESearchMax=ZNsEnum::ZESearchMax_Over)
static TypeLength GetLength_Repeat_NoPermitCharRange
(
int AI_RepeatMin, int AI_RepeatMax ,
const TTyChars& AR_CChars , const TStringArray& ARA_SearchArray,
ZNsEnum::ZESearchMax AE_ESearchMax=ZNsEnum::ZESearchMax_Over
)
/*################################################################################*/
{
return ZtCMainChars::GetLength_Repeat_NoPermitCharRange(
AI_RepeatMin, AI_RepeatMax, AR_CChars.data(), AR_CChars.size(), ARA_SearchArray, AE_ESearchMax);
}/*
template<typename TTyChars, typename TStringArray>
static TypeLength GetLength_Repeat_NoPermitCharRange(
int AI_RepeatMin, int AI_RepeatMax, const TTyChars& AR_CChars, const TStringArray& ARA_SearchArray, ZNsEnum::ZESearchMax AE_ESearchMax=ZNsEnum::ZESearchMax_Over) */
}
/*################################################################################*/
public:
};/*