commit 2025-10-09 02:24 Invalidate() => Invalid() : ZCppMain/ZtCStringEx.H

This commit is contained in:
2025-10-09 02:24:13 +09:00
parent 5a1dba2a38
commit f2a67017c8

View File

@ -960,7 +960,7 @@ namespace ZNsMain
{ {
// AL_NewSize>ml_UseLen 이면 추가되는 부분은 AC_FillChar 로 채운다. // AL_NewSize>ml_UseLen 이면 추가되는 부분은 AC_FillChar 로 채운다.
if(AL_NewSize<=ml_UseLen) return Invalidate(AL_NewSize); if(AL_NewSize<=ml_UseLen) return Invalid(AL_NewSize);
TypeLength VL_PrevSize=ml_UseLen; ReAllocKeep(AL_NewSize); TypeLength VL_PrevSize=ml_UseLen; ReAllocKeep(AL_NewSize);
@ -1071,15 +1071,12 @@ namespace ZNsMain
/*#############################################################################*/ /*#############################################################################*/
ZCStringBase& Invalidate(TypeLength AL_Index=0)
{
if(AL_Index>=0 && AL_Index<ml_UseLen) mpc_Data[ml_UseLen=AL_Index]=0; return *this;
}/*
ZCStringBase& Invalidate(TypeLength AL_Index=0)*/
ZCStringBase& Invalid(TypeLength AL_Index=0) ZCStringBase& Invalid(TypeLength AL_Index=0)
{ {
if(AL_Index>=0 && AL_Index<ml_UseLen) mpc_Data[ml_UseLen=AL_Index]=0; return *this; if(AL_Index>=0 && AL_Index<ml_UseLen)
mpc_Data[ml_UseLen=AL_Index]=0;
return *this; /*+++++++++++++++++++*/
}/* }/*
ZCStringBase& Invalid(TypeLength AL_Index=0)*/ ZCStringBase& Invalid(TypeLength AL_Index=0)*/
@ -1107,7 +1104,7 @@ namespace ZNsMain
ZCStringBase& InvalidByForce(TypeLength AL_Index=0) ZCStringBase& InvalidByForce(TypeLength AL_Index=0)
{ {
// Invalidate() 와의 차이에 주의 // Invalid() 와의 차이에 주의
const bool CB_IsOK = /*<<<<<<<<<<<<<<<<<*/ const bool CB_IsOK = /*<<<<<<<<<<<<<<<<<*/
( (
@ -1259,7 +1256,7 @@ namespace ZNsMain
if(rhs.ml_UseLen<1) if(rhs.ml_UseLen<1)
{ {
Invalidate(); return *this; Invalid(); return *this;
}/* }/*
/////////////////*/ /////////////////*/
@ -1287,13 +1284,13 @@ namespace ZNsMain
ZCStringBase& operator=(const ZCCharView& AR_View) ZCStringBase& operator=(const ZCCharView& AR_View)
{ {
Invalidate(); return (*this)(AR_View.data(), AR_View.size()); Invalid(); return (*this)(AR_View.data(), AR_View.size());
}/* }/*
ZCStringBase& operator=(const ZCCharView& AR_View)*/ ZCStringBase& operator=(const ZCCharView& AR_View)*/
ZCStringBase& operator=(int AI_Int ){Invalidate(); return (*this)(AI_Int );} ZCStringBase& operator=(int AI_Int ){Invalid(); return (*this)(AI_Int );}
ZCStringBase& operator=(long AL_Long ){Invalidate(); return (*this)(AL_Long );} ZCStringBase& operator=(long AL_Long ){Invalid(); return (*this)(AL_Long );}
ZCStringBase& operator=(double AD_Double){Invalidate(); return (*this)(AD_Double);} ZCStringBase& operator=(double AD_Double){Invalid(); return (*this)(AD_Double);}
bool operator==(TypeCharC* APC_Data) const{return Minus(APC_Data)==0 ;} bool operator==(TypeCharC* APC_Data) const{return Minus(APC_Data)==0 ;}
@ -1489,7 +1486,7 @@ namespace ZNsMain
{ {
if(AL_Length<1) if(AL_Length<1)
{ {
Invalidate(); return *this; Invalid(); return *this;
} }
/*<<<<<<<<<<<*/ /*<<<<<<<<<<<*/
@ -1939,17 +1936,17 @@ namespace ZNsMain
ZCStringBase& ConvertLLong() ZCStringBase& ConvertLLong()
{ {
ZNsMain::ZTypLLong LLongValue=ZNsMain::ZfAtoLL(mpc_Data); ZNsMain::ZTypLLong LLongValue = ZNsMain::ZfAtoLL(mpc_Data);
this->Invalidate(); return (*this)(LLongValue); this->Invalid(); return (*this)(LLongValue);
}/* }/*
ZCStringBase& ConvertLLong()*/ ZCStringBase& ConvertLLong()*/
ZCStringBase& ConvertLong() ZCStringBase& ConvertLong()
{ {
ZNsMain::ZTypLLong LongValue=ZNsMain::ZfAtoL(mpc_Data); ZNsMain::ZTypLLong LongValue = ZNsMain::ZfAtoL(mpc_Data);
this->Invalidate(); return (*this)(LongValue); this->Invalid(); return (*this)(LongValue);
}/* }/*
ZCStringBase& ConvertLong()*/ ZCStringBase& ConvertLong()*/
@ -2512,8 +2509,8 @@ namespace ZNsMain
if(VL_SearchPos2-VL_SearchPos1-AL_SearchLen1<1) if(VL_SearchPos2-VL_SearchPos1-AL_SearchLen1<1)
{ {
return *this; // 찾은 두 문자열 사이에 문자가 없을 때 return *this; // 찾은 두 문자열 사이에 문자가 없을 때
}/* }
/////////////////////////////////////////////*/ /*:::::::::::::::::::::::::::::::::::::::::::*/
return ReplaceSection return ReplaceSection
( (
@ -2537,8 +2534,8 @@ namespace ZNsMain
} }
else if(AB_IsExactTwo==false && VL_SearchPos1>=0 && VL_SearchPos2<0) else if(AB_IsExactTwo==false && VL_SearchPos1>=0 && VL_SearchPos2<0)
{ {
if(AB_DoKeepSearch==true) Invalidate(VL_SearchPos1+AL_SearchLen1); if(AB_DoKeepSearch) Invalid(VL_SearchPos1+AL_SearchLen1 );
else Invalidate(VL_SearchPos1); else Invalid(VL_SearchPos1 );
}/* }/*
else if(AB_IsExactTwo==false && VL_SearchPos1>=0 && VL_SearchPos2<0)*/ else if(AB_IsExactTwo==false && VL_SearchPos1>=0 && VL_SearchPos2<0)*/
@ -4024,11 +4021,11 @@ namespace ZNsMain
} }
else else
{ {
((ZCString&)ARR_SaveList).Invalidate().append ((ZCString&)ARR_SaveList).Invalid().append
( (
APC_OriginChar+VL_CopyStartPos, VL_Index-VL_CopyStartPos APC_OriginChar+VL_CopyStartPos, VL_Index-VL_CopyStartPos
) ; ) ;
///////////////////////////////////////////// //////////////////////////////////////////
}/* }/*
else*/ else*/
} }
@ -4053,7 +4050,7 @@ namespace ZNsMain
{ ((ZCStringBase&)ARR_SaveList). { ((ZCStringBase&)ARR_SaveList).
append( APC_OriginChar+VL_CopyStartPos, AL_OriginLen-VL_CopyStartPos ) ; append( APC_OriginChar+VL_CopyStartPos, AL_OriginLen-VL_CopyStartPos ) ;
}else }else
{ ((ZCStringBase&)ARR_SaveList).Invalidate(). { ((ZCStringBase&)ARR_SaveList).Invalid().
append( APC_OriginChar+VL_CopyStartPos, AL_OriginLen-VL_CopyStartPos ) ; append( APC_OriginChar+VL_CopyStartPos, AL_OriginLen-VL_CopyStartPos ) ;
} }
}/* }/*
@ -4286,7 +4283,7 @@ namespace ZNsMain
if(VL_Index>VL_CopyStartPos) if(VL_Index>VL_CopyStartPos)
{ {
VO_CStringTemp.Invalidate(); VO_CStringTemp.Invalid();
ARR_SaveList.push_back //////////////////// ARR_SaveList.push_back ////////////////////
( (
@ -4319,7 +4316,7 @@ namespace ZNsMain
/* VL_PrevListSize==ARR_SaveList.size() 인 경우는, 분리 /* VL_PrevListSize==ARR_SaveList.size() 인 경우는, 분리
문자열을 찾을 수 없는 경우다. 이때는 아무짓도 하지 말자. 문자열을 찾을 수 없는 경우다. 이때는 아무짓도 하지 말자.
*/ */
VO_CStringTemp.Invalidate(); VO_CStringTemp.Invalid();
ARR_SaveList.push_back //////// ARR_SaveList.push_back ////////
( (
@ -4795,7 +4792,7 @@ namespace ZNsMain
if(VL_CopyPos<VL_StartPos) if(VL_CopyPos<VL_StartPos)
{ {
VO_CStringTemp.Invalidate(); VO_CStringTemp.Invalid();
ARR_SaveList.push_back ARR_SaveList.push_back
( (
@ -4821,7 +4818,7 @@ namespace ZNsMain
if(VL_CopyPos<AL_OriginLen) if(VL_CopyPos<AL_OriginLen)
{ {
VO_CStringTemp.Invalidate(); VO_CStringTemp.Invalid();
ARR_SaveList.push_back ARR_SaveList.push_back
( (
@ -4910,19 +4907,26 @@ namespace ZNsMain
if(AB_DoIncludeSearch==true) if(AB_DoIncludeSearch==true)
{ {
((ZCStringBase&)ARR_SaveList).Invalidate().append( ((ZCStringBase&)ARR_SaveList).Invalid().append
APC_OriginChar+VL_Pos1 , VL_Pos2-VL_Pos1+AL_Search2Len) ; (
APC_OriginChar+VL_Pos1, VL_Pos2-VL_Pos1+AL_Search2Len
) ;
/*::::::::::::::::::::::::::::::::::::::::::*/
} }
else if(VL_Pos2>VL_Pos1+AL_Search1Len) // AB_DoIncludeSearch==false else if(VL_Pos2>VL_Pos1+AL_Search1Len) // AB_DoIncludeSearch==false
{ {
((ZCStringBase&)ARR_SaveList).Invalidate().append( ((ZCStringBase&)ARR_SaveList).Invalid().append
APC_OriginChar+VL_Pos1+AL_Search1Len, VL_Pos2-VL_Pos1-AL_Search1Len) ; (
APC_OriginChar + VL_Pos1+AL_Search1Len,
VL_Pos2-VL_Pos1- AL_Search1Len
) ;
/*::::::::::::::::::::::::::::::::::::::::::*/
// APC_Search1Char 와 APC_Search2Char 사이에 문자열이 하나 이상 있어야 한다. // APC_Search1Char 와 APC_Search2Char 사이에 문자열이 하나 이상 있어야 한다.
}/* }/*
else if(VL_Pos2>VL_Pos1+AL_Search1Len) // AB_DoIncludeSearch==false*/ else if(VL_Pos2>VL_Pos1+AL_Search1Len) // AB_DoIncludeSearch==false*/
VL_Pos1=VL_Pos2+AL_Search2Len; VL_Pos1 = VL_Pos2+AL_Search2Len;
}/* }/*
while ( ////////////////////////////////////////////// while ( //////////////////////////////////////////////
( VL_Pos1 = FindPos ( VL_Pos1 = FindPos
@ -5059,13 +5063,20 @@ namespace ZNsMain
if(AB_DoIncludeSearch==true) if(AB_DoIncludeSearch==true)
{ {
((ZCString&)ARR_SaveList).Invalidate().append( ((ZCString&)ARR_SaveList).Invalid().append
APC_OriginChar+VL_Pos1 , VL_Pos2-VL_Pos1+AL_Search2Len) ; (
APC_OriginChar+VL_Pos1, VL_Pos2-VL_Pos1+AL_Search2Len
) ;
/*::::::::::::::::::::::::::::::::::::::*/
} }
else if(VL_Pos2>VL_Pos1+AL_Search1Len) // AB_DoIncludeSearch==false else if(VL_Pos2>VL_Pos1+AL_Search1Len) // AB_DoIncludeSearch==false
{ {
((ZCString&)ARR_SaveList).Invalidate().append( ((ZCString&)ARR_SaveList).Invalid().append
APC_OriginChar+VL_Pos1+AL_Search1Len, VL_Pos2-VL_Pos1-AL_Search1Len) ; (
APC_OriginChar + VL_Pos1+AL_Search1Len,
VL_Pos2-VL_Pos1- AL_Search1Len
) ;
/*::::::::::::::::::::::::::::::::::::::*/
// APC_Search1Char 와 APC_Search2Char 사이에 문자열이 하나 이상 있어야 한다. // APC_Search1Char 와 APC_Search2Char 사이에 문자열이 하나 이상 있어야 한다.
}/* }/*
@ -6386,7 +6397,7 @@ namespace ZNsMain
ZCStringBase& PadLeft(TypeLength AL_NewSize, TypeChar AC_FillChar=' ') ZCStringBase& PadLeft(TypeLength AL_NewSize, TypeChar AC_FillChar=' ')
{ {
if(AL_NewSize<=ml_UseLen) return Invalidate(AL_NewSize); if(AL_NewSize<=ml_UseLen) return Invalid(AL_NewSize);
return MoveRight(AL_NewSize-ml_UseLen, AC_FillChar); return MoveRight(AL_NewSize-ml_UseLen, AC_FillChar);
}/* }/*
@ -6395,7 +6406,7 @@ namespace ZNsMain
ZCStringBase& PadRight(TypeLength AL_NewSize, TypeChar AC_FillChar=' ') ZCStringBase& PadRight(TypeLength AL_NewSize, TypeChar AC_FillChar=' ')
{ {
if(AL_NewSize<=ml_UseLen) if(AL_NewSize<=ml_UseLen)
{ return Invalidate(AL_NewSize); } { return Invalid(AL_NewSize); }
this->ReAllocKeep(AL_NewSize); this->ReAllocKeep(AL_NewSize);
@ -6835,7 +6846,7 @@ namespace ZNsMain
if(AL_StartPos<0) if(AL_StartPos<0)
return *this; // 확장자 구분표시 '.' 이 없을 경우 return *this; // 확장자 구분표시 '.' 이 없을 경우
else else
return Invalidate(AL_StartPos); return Invalid(AL_StartPos);
//else //else
}/* }/*
ZCStringBase& MinusExt()*/ ZCStringBase& MinusExt()*/