commit 2025-08-19 21:19 edit a bit ZCppMain/ZtCStringEx.H

This commit is contained in:
2025-08-19 21:19:09 +09:00
parent e8cf6460cb
commit 4a076cb1d8

View File

@ -3503,7 +3503,7 @@ namespace ZNsMain
)
/*################################################################*/
{
typedef typename TSplitList::TypeData CString; TSplitList VO_CStringList;
typedef typename TSplitList::TypeData ZCString; TSplitList VO_CStringList;
/*/////////////////////////////////////////////////////////////////////////////////////
@ -3546,12 +3546,12 @@ namespace ZNsMain
if(VL_Index>VL_CopyStartPos)
{
((CString&)VO_CStringList).append
((ZCString&)VO_CStringList).append
(
APC_OriginChar+VL_CopyStartPos,
VL_Index -VL_CopyStartPos
) ;
/////////////////////////////////
//////////////////////////////////
}/*
if(VL_Index>VL_CopyStartPos)*/
@ -3634,7 +3634,7 @@ namespace ZNsMain
/* bool AB_DoExecNull 이 true 이면 구분 문자로 잘린 문자열 길이
가 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)
{
@ -3656,13 +3656,13 @@ namespace ZNsMain
{
if(APC_OriginChar[VL_Index+j]!=APC_SearchChar[j]) break;
}/*
for(j=0; j<AL_SearchLen; ++j)*/
///////////////////////////*/
if(j!=AL_SearchLen) // 못찾은 경우
{
++VL_Index; continue;
}/*
if(j!=AL_SearchLen)*/
/////////////////*/
// 찾은 경우
@ -3775,7 +3775,7 @@ namespace ZNsMain
/////////////////////////////////////////////////////////////////////*/
typedef typename TStringList::TypeData CString;
typedef typename TStringList::TypeData ZCString;
if(AL_OriginLen<1) return ARR_SaveList;
@ -3807,25 +3807,25 @@ namespace ZNsMain
{
if(AB_DoAppendEachLink==true)
{
((CString&)ARR_SaveList).append
((ZCString&)ARR_SaveList).append
(
APC_OriginChar+VL_CopyStartPos, VL_Index-VL_CopyStartPos
) ;
///////////////////////////////
////////////////////////////////
}
else
{
((CString&)ARR_SaveList).Invalidate().append
((ZCString&)ARR_SaveList).Invalidate().append
(
APC_OriginChar+VL_CopyStartPos, VL_Index-VL_CopyStartPos
) ;
////////////////////////////////////////////
/////////////////////////////////////////////
}/*
else*/
}
else if(AB_DoAppendEmpty==true)
{
(CString&)ARR_SaveList;
(ZCString&)ARR_SaveList;
}/*
else if(AB_DoAppendEmpty==true)*/
@ -4052,7 +4052,7 @@ namespace ZNsMain
{
// ARR_SaveList 의 각 원소들은 문자열 object 이어야 한다.
typedef typename TSaveList::TypeData CString;
typedef typename TSaveList::TypeData ZCString;
if(AL_OriginLen<1 || AL_SearchLen<1) return ARR_SaveList;
@ -4062,7 +4062,7 @@ namespace ZNsMain
TypeLength VL_Loop =AL_OriginLen-AL_SearchLen;
TypeLength VL_Index =0 ;
CString VO_CStringTemp ;
ZCString VO_CStringTemp ;
while(VL_Index<=VL_Loop)
{
@ -4267,7 +4267,7 @@ namespace ZNsMain
// APC_SearchChar이 가리키는 각 문자들 중 하나라도 만족하면
// 그 문자로 분리해서 ARR_SaveList 에 저장한다.
typedef typename TStringList::TypeData CString;
typedef typename TStringList::TypeData ZCString;
if(AL_OriginLen<1 || AL_SearchLen<1) return ARR_SaveList;
@ -4290,7 +4290,7 @@ namespace ZNsMain
{
if(i>VL_CopyStartPos)
{
((CString&)ARR_SaveList).append
((ZCString&)ARR_SaveList).append
( VP_CopyStartChar, i-VL_CopyStartPos ) ;
}/*
if(i>VL_CopyStartPos)*/
@ -4304,7 +4304,7 @@ namespace ZNsMain
if(VL_CopyStartPos<AL_OriginLen)
{
((CString&)ARR_SaveList).append
((ZCString&)ARR_SaveList).append
(VP_CopyStartChar, AL_OriginLen-VL_CopyStartPos) ;
}/*
if(VL_CopyStartPos<AL_OriginLen)*/
@ -4828,7 +4828,7 @@ namespace ZNsMain
같으면 임시 object 가 생성디는 문제가 있어서 STL 과 호환되게 하지는 않고
있다. */
typedef typename TypeList::TypeData CString;
typedef typename TypeList::TypeData ZCString;
if(AL_OriginLen<1 || AL_Search1Len<1 || AL_Search2Len<1)
{
@ -4854,12 +4854,12 @@ namespace ZNsMain
if(AB_DoIncludeSearch==true)
{
((CString&)ARR_SaveList).Invalidate().append(
((ZCString&)ARR_SaveList).Invalidate().append(
APC_OriginChar+VL_Pos1 , VL_Pos2-VL_Pos1+AL_Search2Len) ;
}
else if(VL_Pos2>VL_Pos1+AL_Search1Len) // AB_DoIncludeSearch==false
{
((CString&)ARR_SaveList).Invalidate().append(
((ZCString&)ARR_SaveList).Invalidate().append(
APC_OriginChar+VL_Pos1+AL_Search1Len, VL_Pos2-VL_Pos1-AL_Search1Len) ;
// APC_Search1Char 와 APC_Search2Char 사이에 문자열이 하나 이상 있어야 한다.
@ -8286,13 +8286,13 @@ namespace ZNsMain
/*//////////*/ )
{
#ifdef _DEBUG_FAST_MOVE_OBJ_
cout<<" ▶▶ __FastMoveObj(CString&, CString&) Start!"<<endl;
cout<<" ▶▶ __FastMoveObj(ZCString&, ZCString&) Start!"<<endl;
#endif //_DEBUG_FAST_MOVE_OBJ_
AR_CString1.Fetch(AR_CString2);
#ifdef _DEBUG_FAST_MOVE_OBJ_
cout<<" ▶▶ __FastMoveObj(CString&, CString&) Close!"<<endl;
cout<<" ▶▶ __FastMoveObj(ZCString&, ZCString&) Close!"<<endl;
#endif //_DEBUG_FAST_MOVE_OBJ_
}/*
template<typename TTypCh, typename TAlloc, typename TAllocSize, typename TTypeString>
@ -8311,13 +8311,13 @@ namespace ZNsMain
typedef ZNsMain::ZtCStringBase<TTypCh, TAlloc, TAllocSize, TTypeString> CStringType;
#ifdef _DEBUG_FAST_MOVE_OBJ_
cout<<" ▶▶ __FastMoveObj(CString&, const CString&) Start!"<<endl;
cout<<" ▶▶ __FastMoveObj(ZCString&, const ZCString&) Start!"<<endl;
#endif //_DEBUG_FAST_MOVE_OBJ_
AR_CString1.Fetch(const_cast<CStringType&>(AR_CString2));
#ifdef _DEBUG_FAST_MOVE_OBJ_
cout<<" ▶▶ __FastMoveObj(CString&, const CString&) Close!"<<endl;
cout<<" ▶▶ __FastMoveObj(ZCString&, const ZCString&) Close!"<<endl;
#endif //_DEBUG_FAST_MOVE_OBJ_
}/*
template<typename TTypCh, typename TAlloc, typename TAllocSize, typename TTypeString>