Compare commits
179 Commits
5a23263a92
...
bmain
Author | SHA1 | Date | |
---|---|---|---|
/* User with id == 0 is a fake user from git author */
|
72cf94128d | ||
/* User with id == 0 is a fake user from git author */
|
437b8a2e16 | ||
/* User with id == 0 is a fake user from git author */
|
dbc483330b | ||
/* User with id == 0 is a fake user from git author */
|
835f80f179 | ||
/* User with id == 0 is a fake user from git author */
|
5cd24d6e94 | ||
/* User with id == 0 is a fake user from git author */
|
3f4e40147b | ||
/* User with id == 0 is a fake user from git author */
|
f45137e8f3 | ||
/* User with id == 0 is a fake user from git author */
|
882e4f6278 | ||
/* User with id == 0 is a fake user from git author */
|
c30a14c0c9 | ||
/* User with id == 0 is a fake user from git author */
|
cd4ab32709 | ||
/* User with id == 0 is a fake user from git author */
|
1ffbb95e80 | ||
/* User with id == 0 is a fake user from git author */
|
56960ed38f | ||
/* User with id == 0 is a fake user from git author */
|
5e34c2f5cc | ||
/* User with id == 0 is a fake user from git author */
|
f451a6a1e1 | ||
/* User with id == 0 is a fake user from git author */
|
7ff1933fb0 | ||
/* User with id == 0 is a fake user from git author */
|
d360408365 | ||
/* User with id == 0 is a fake user from git author */
|
2f8fae30a4 | ||
/* User with id == 0 is a fake user from git author */
|
6d4556236e | ||
/* User with id == 0 is a fake user from git author */
|
d4614dcb09 | ||
/* User with id == 0 is a fake user from git author */
|
ad8e294902 | ||
/* User with id == 0 is a fake user from git author */
|
3e97046031 | ||
/* User with id == 0 is a fake user from git author */
|
f8b9887734 | ||
/* User with id == 0 is a fake user from git author */
|
de6056ab27 | ||
/* User with id == 0 is a fake user from git author */
|
8266f0a6a3 | ||
/* User with id == 0 is a fake user from git author */
|
af8fec15eb | ||
/* User with id == 0 is a fake user from git author */
|
756b48ae36 | ||
/* User with id == 0 is a fake user from git author */
|
b5f71d95d2 | ||
/* User with id == 0 is a fake user from git author */
|
ea178aa11a | ||
/* User with id == 0 is a fake user from git author */
|
64630b4abd | ||
/* User with id == 0 is a fake user from git author */
|
8eeafdd0d8 | ||
/* User with id == 0 is a fake user from git author */
|
9277c95336 | ||
/* User with id == 0 is a fake user from git author */
|
ec687cc4e9 | ||
/* User with id == 0 is a fake user from git author */
|
d21d5b0263 | ||
/* User with id == 0 is a fake user from git author */
|
e1b7aeed21 | ||
/* User with id == 0 is a fake user from git author */
|
0bae715de7 | ||
/* User with id == 0 is a fake user from git author */
|
849cab2dbb | ||
/* User with id == 0 is a fake user from git author */
|
4113a0a6f1 | ||
/* User with id == 0 is a fake user from git author */
|
e57cce5a28 | ||
/* User with id == 0 is a fake user from git author */
|
342dc34096 | ||
/* User with id == 0 is a fake user from git author */
|
1d3ee05571 | ||
/* User with id == 0 is a fake user from git author */
|
29aa6225b4 | ||
/* User with id == 0 is a fake user from git author */
|
31a6d46726 | ||
/* User with id == 0 is a fake user from git author */
|
bea5561dc4 | ||
/* User with id == 0 is a fake user from git author */
|
b92b3e2107 | ||
/* User with id == 0 is a fake user from git author */
|
c52ddbed83 | ||
/* User with id == 0 is a fake user from git author */
|
58a38e75ab | ||
/* User with id == 0 is a fake user from git author */
|
e7692ddfd1 | ||
/* User with id == 0 is a fake user from git author */
|
0e4ae40622 | ||
/* User with id == 0 is a fake user from git author */
|
9c746559f4 | ||
/* User with id == 0 is a fake user from git author */
|
536fec9db0 | ||
/* User with id == 0 is a fake user from git author */
|
16bfabc6fe | ||
/* User with id == 0 is a fake user from git author */
|
5e550363ee | ||
/* User with id == 0 is a fake user from git author */
|
fcb513d4ac | ||
/* User with id == 0 is a fake user from git author */
|
b4871d1b07 | ||
/* User with id == 0 is a fake user from git author */
|
5d337e3356 | ||
/* User with id == 0 is a fake user from git author */
|
40debb62a6 | ||
/* User with id == 0 is a fake user from git author */
|
70b7d85fac | ||
/* User with id == 0 is a fake user from git author */
|
c96244dd29 | ||
/* User with id == 0 is a fake user from git author */
|
6fe3bbff18 | ||
/* User with id == 0 is a fake user from git author */
|
a0438aebc6 | ||
/* User with id == 0 is a fake user from git author */
|
eb35ccb059 | ||
/* User with id == 0 is a fake user from git author */
|
84299e59a5 | ||
/* User with id == 0 is a fake user from git author */
|
8cc267707f | ||
/* User with id == 0 is a fake user from git author */
|
4838bb74ef | ||
/* User with id == 0 is a fake user from git author */
|
023e1d8a0a | ||
/* User with id == 0 is a fake user from git author */
|
1e88508936 | ||
/* User with id == 0 is a fake user from git author */
|
bf3aa88ec1 | ||
/* User with id == 0 is a fake user from git author */
|
908303d235 | ||
/* User with id == 0 is a fake user from git author */
|
82a2c15364 | ||
/* User with id == 0 is a fake user from git author */
|
2ce107ed19 | ||
/* User with id == 0 is a fake user from git author */
|
1f05458724 | ||
/* User with id == 0 is a fake user from git author */
|
d85191b2d0 | ||
/* User with id == 0 is a fake user from git author */
|
11acb59e39 | ||
/* User with id == 0 is a fake user from git author */
|
3c12d055a2 | ||
/* User with id == 0 is a fake user from git author */
|
3e8cbd319e | ||
/* User with id == 0 is a fake user from git author */
|
721d26ca5e | ||
/* User with id == 0 is a fake user from git author */
|
2b4596b065 | ||
/* User with id == 0 is a fake user from git author */
|
0fb0270a53 | ||
/* User with id == 0 is a fake user from git author */
|
4147ea51d6 | ||
/* User with id == 0 is a fake user from git author */
|
a1b89271b7 | ||
/* User with id == 0 is a fake user from git author */
|
4c6cde5d59 | ||
/* User with id == 0 is a fake user from git author */
|
2f364e66a3 | ||
/* User with id == 0 is a fake user from git author */
|
600ac6ef1e | ||
/* User with id == 0 is a fake user from git author */
|
aa59e460c5 | ||
/* User with id == 0 is a fake user from git author */
|
4a0a74936b | ||
/* User with id == 0 is a fake user from git author */
|
d47a651fd4 | ||
/* User with id == 0 is a fake user from git author */
|
40157d7df2 | ||
/* User with id == 0 is a fake user from git author */
|
dabd772aec | ||
/* User with id == 0 is a fake user from git author */
|
92a8cb501d | ||
/* User with id == 0 is a fake user from git author */
|
e9944b6e0c | ||
/* User with id == 0 is a fake user from git author */
|
5762ec1cdf | ||
/* User with id == 0 is a fake user from git author */
|
5c9c870654 | ||
/* User with id == 0 is a fake user from git author */
|
6a873ea2c9 | ||
/* User with id == 0 is a fake user from git author */
|
ef441cca37 | ||
/* User with id == 0 is a fake user from git author */
|
03556b203c | ||
/* User with id == 0 is a fake user from git author */
|
2aab937785 | ||
/* User with id == 0 is a fake user from git author */
|
3e37580b98 | ||
/* User with id == 0 is a fake user from git author */
|
b8d5ddb47f | ||
/* User with id == 0 is a fake user from git author */
|
a0d9d31a21 | ||
/* User with id == 0 is a fake user from git author */
|
1774cfda3a | ||
/* User with id == 0 is a fake user from git author */
|
b325c152fd | ||
/* User with id == 0 is a fake user from git author */
|
696b5744b1 | ||
/* User with id == 0 is a fake user from git author */
|
7cca0d4d92 | ||
/* User with id == 0 is a fake user from git author */
|
391adbaf11 | ||
/* User with id == 0 is a fake user from git author */
|
69fb7a8c5c | ||
/* User with id == 0 is a fake user from git author */
|
d66bdb4cea | ||
/* User with id == 0 is a fake user from git author */
|
a578e3b244 | ||
/* User with id == 0 is a fake user from git author */
|
2e0356fe09 | ||
/* User with id == 0 is a fake user from git author */
|
342446fdce | ||
/* User with id == 0 is a fake user from git author */
|
15d8ee63ad | ||
/* User with id == 0 is a fake user from git author */
|
d73d9e4227 | ||
/* User with id == 0 is a fake user from git author */
|
3b987e2a6e | ||
/* User with id == 0 is a fake user from git author */
|
131e638f8b | ||
/* User with id == 0 is a fake user from git author */
|
659b0a19cb | ||
/* User with id == 0 is a fake user from git author */
|
c8523687fc | ||
/* User with id == 0 is a fake user from git author */
|
65a115ff6f | ||
/* User with id == 0 is a fake user from git author */
|
4fc794e834 | ||
/* User with id == 0 is a fake user from git author */
|
15f24be62d | ||
/* User with id == 0 is a fake user from git author */
|
5166bbe7cf | ||
/* User with id == 0 is a fake user from git author */
|
7ba366e151 | ||
/* User with id == 0 is a fake user from git author */
|
5b692812db | ||
/* User with id == 0 is a fake user from git author */
|
b1958e065a | ||
/* User with id == 0 is a fake user from git author */
|
6cc8cff669 | ||
/* User with id == 0 is a fake user from git author */
|
0e25b260de | ||
/* User with id == 0 is a fake user from git author */
|
7a3b57f135 | ||
/* User with id == 0 is a fake user from git author */
|
388b87377a | ||
/* User with id == 0 is a fake user from git author */
|
093eb009d0 | ||
/* User with id == 0 is a fake user from git author */
|
18e0b5d9d4 | ||
/* User with id == 0 is a fake user from git author */
|
1bdcf7597b | ||
/* User with id == 0 is a fake user from git author */
|
bfe282e141 | ||
/* User with id == 0 is a fake user from git author */
|
bdc450d1b3 | ||
/* User with id == 0 is a fake user from git author */
|
bb547bd4f7 | ||
/* User with id == 0 is a fake user from git author */
|
e34ad6cfb1 | ||
/* User with id == 0 is a fake user from git author */
|
df8ffa6024 | ||
/* User with id == 0 is a fake user from git author */
|
bf32afc1cd | ||
/* User with id == 0 is a fake user from git author */
|
3deb3d3106 | ||
/* User with id == 0 is a fake user from git author */
|
50019e94cd | ||
/* User with id == 0 is a fake user from git author */
|
3629380b37 | ||
/* User with id == 0 is a fake user from git author */
|
870b50066d | ||
/* User with id == 0 is a fake user from git author */
|
17e25f8f5d | ||
/* User with id == 0 is a fake user from git author */
|
033dd35cfc | ||
/* User with id == 0 is a fake user from git author */
|
e0b357be37 | ||
/* User with id == 0 is a fake user from git author */
|
0c52cb85af | ||
/* User with id == 0 is a fake user from git author */
|
7b3605a929 | ||
/* User with id == 0 is a fake user from git author */
|
fa52fe1027 | ||
/* User with id == 0 is a fake user from git author */
|
cdca176fa9 | ||
/* User with id == 0 is a fake user from git author */
|
a112a17f0d | ||
/* User with id == 0 is a fake user from git author */
|
3c1aba34e9 | ||
/* User with id == 0 is a fake user from git author */
|
29156b0dd0 | ||
/* User with id == 0 is a fake user from git author */
|
ae76c4626c | ||
/* User with id == 0 is a fake user from git author */
|
66bec91d83 | ||
/* User with id == 0 is a fake user from git author */
|
f8e1e7f062 | ||
/* User with id == 0 is a fake user from git author */
|
2c2b664d15 | ||
/* User with id == 0 is a fake user from git author */
|
3259618f1e | ||
/* User with id == 0 is a fake user from git author */
|
73d4d3daaf | ||
/* User with id == 0 is a fake user from git author */
|
8f8ddb9460 | ||
/* User with id == 0 is a fake user from git author */
|
a46afc5865 | ||
/* User with id == 0 is a fake user from git author */
|
32ae22cc92 | ||
/* User with id == 0 is a fake user from git author */
|
13b39d7b1b | ||
/* User with id == 0 is a fake user from git author */
|
10eefea106 | ||
/* User with id == 0 is a fake user from git author */
|
eb050b2c6c | ||
/* User with id == 0 is a fake user from git author */
|
3fbaa2f2a6 | ||
/* User with id == 0 is a fake user from git author */
|
ce958a5d74 | ||
/* User with id == 0 is a fake user from git author */
|
3c13880b49 | ||
/* User with id == 0 is a fake user from git author */
|
aa5d67daf4 | ||
/* User with id == 0 is a fake user from git author */
|
a64b43b1e9 | ||
/* User with id == 0 is a fake user from git author */
|
8b226414b5 | ||
/* User with id == 0 is a fake user from git author */
|
e2ceca2cd8 | ||
/* User with id == 0 is a fake user from git author */
|
f10ea286c0 | ||
/* User with id == 0 is a fake user from git author */
|
15edbd80d8 | ||
/* User with id == 0 is a fake user from git author */
|
22f85f03a4 | ||
/* User with id == 0 is a fake user from git author */
|
89e67d93e3 | ||
/* User with id == 0 is a fake user from git author */
|
e69cc7577f | ||
/* User with id == 0 is a fake user from git author */
|
016a45f648 | ||
/* User with id == 0 is a fake user from git author */
|
467c46a5c3 | ||
/* User with id == 0 is a fake user from git author */
|
ed5f8509cd | ||
/* User with id == 0 is a fake user from git author */
|
9052a06bd5 | ||
/* User with id == 0 is a fake user from git author */
|
8924a85c85 | ||
/* User with id == 0 is a fake user from git author */
|
93080593d1 |
@ -348,7 +348,7 @@ namespace ZNsMain
|
||||
typename TEnvVar , //= ZNsMain::ZNsCGI::ZNsBase::ZtCEnvVar<TStringData>,
|
||||
typename TEnvVarSet //= NsCPP::ZtCObjAVL<TEnvVar>
|
||||
>
|
||||
class ZtCTypeEnvVarSet /*############################################################*/
|
||||
class ZtCTypeEnvVarSet ##############################################################*/
|
||||
|
||||
}/*
|
||||
namespace NsType*/
|
||||
|
@ -1040,7 +1040,7 @@ namespace ZNsMain
|
||||
int AI_Offset= 0 ,
|
||||
const char* APC_Padd = ""
|
||||
)
|
||||
/*################################################################*/
|
||||
##################################################################*/
|
||||
|
||||
|
||||
template<typename TString> void ZftGetBinHexFormat /*#############*/
|
||||
@ -1258,7 +1258,7 @@ namespace ZNsMain
|
||||
int AI_Offset=0 ,
|
||||
const char* APC_Padd =""
|
||||
)
|
||||
/*################################################################*/
|
||||
##################################################################*/
|
||||
|
||||
|
||||
template<typename TString> void ZftGetBinHexFormatEx( /*##########*/
|
||||
|
3991
ZCppMain/ZMainHead.H
3991
ZCppMain/ZMainHead.H
File diff suppressed because it is too large
Load Diff
@ -1157,7 +1157,7 @@ namespace ZNsMain
|
||||
{
|
||||
time_t VI_TimeSec=ZNsMain::ZCTime::MakeTimeInt(AI_Year, AI_Month, AI_Day, AI_Hour, AI_Min, AI_Sec);
|
||||
|
||||
if(VI_TimeSec<1) return false; *this+=VI_TimeSec; return true ;
|
||||
if(VI_TimeSec<1){return false;} *this+=VI_TimeSec; return true ;
|
||||
}/*
|
||||
bool GetDiffSec(time_t& ARRI_TimeGap, int AI_Year,int AI_Month,int AI_Day,int AI_Hour,int AI_Min,int AI_Sec)*/
|
||||
|
||||
@ -1388,15 +1388,15 @@ namespace ZNsMain
|
||||
static string& GetUniqueID(string& ARR_CString)
|
||||
{
|
||||
const int CI_BuffSize=100 ;
|
||||
static int SI_Count =0 ;
|
||||
static long SI_Count =0 ;
|
||||
const char* CPC_Gap ="_" ;
|
||||
char VCA_Buff[CI_BuffSize] ;
|
||||
|
||||
::sprintf( VCA_Buff,
|
||||
"%d%s%d%s%d" ,
|
||||
"%ld%s%ld%s%ld" ,
|
||||
(long)GetNowSec(), // (long) 가 없으면 메모리 오류가 난다.
|
||||
CPC_Gap , GetTickCount() ,
|
||||
CPC_Gap , (++SI_Count)+ ::GetCurrentProcessId()
|
||||
CPC_Gap , (long)GetTickCount() ,
|
||||
CPC_Gap , (++SI_Count)+long(::GetCurrentProcessId())
|
||||
/*////*/ );
|
||||
|
||||
return ARR_CString = VCA_Buff ;
|
||||
@ -4268,7 +4268,7 @@ namespace ZNsMain
|
||||
|
||||
VB_RemoveFail=false;
|
||||
}
|
||||
while(VB_IsSearched = ::FindNextFileA(VH_File, &VO_CFileData));
|
||||
while((VB_IsSearched = ::FindNextFileA(VH_File, &VO_CFileData))==TRUE);
|
||||
|
||||
::FindClose(VH_File);
|
||||
|
||||
@ -5290,7 +5290,7 @@ namespace ZNsMain
|
||||
ZNsMain::ZNsEnum::ZERun (*APF_EachFile)(ZTypCPCh APC_NowPath, ZCFileData& AR_CFileData, void* APC_VoidKey),
|
||||
ZNsMain::ZNsEnum::ZERun (*APF_EachDir )(ZTypCPCh APC_NowPath, ZCFileData& AR_CFileData, void* APC_VoidKey)=0
|
||||
)
|
||||
/*##########################################################################*/
|
||||
############################################################################*/
|
||||
|
||||
|
||||
/*////////////////////////////////////////////////////
|
||||
@ -5762,11 +5762,11 @@ namespace ZNsMain
|
||||
char* VP_NowDir = ::getcwd
|
||||
((char*)ARR_CStringDir.data(), CI_BuffSize);
|
||||
|
||||
if(VP_NowDir==0) return false; ARR_CStringDir.
|
||||
if(VP_NowDir==0){return false;} ARR_CStringDir.
|
||||
|
||||
resize(ZNsMain::ZftLength(VP_NowDir), ' ') ;
|
||||
|
||||
return true; /********************************/
|
||||
return true; /*********************************/
|
||||
}/*
|
||||
if(false==AB_DoKeepPrev)*/
|
||||
|
||||
@ -7136,7 +7136,6 @@ namespace ZNsMain
|
||||
{
|
||||
return VI_EmptyBuffCnt;
|
||||
}
|
||||
////////////////
|
||||
}
|
||||
else // AL_Length<ZNsMain::ZTypInt(VP_IOBuff->iov_len)
|
||||
{
|
||||
@ -7167,12 +7166,10 @@ namespace ZNsMain
|
||||
|
||||
void MoveFirst()
|
||||
{
|
||||
if(mi_HeadPos<1) return;
|
||||
if(mi_HeadPos<1) return ;
|
||||
|
||||
int VI_Index=0 ;
|
||||
int i =mi_HeadPos;
|
||||
|
||||
int VI_ValidBuffCnt=GetSize();
|
||||
int VI_Index= 0, i = mi_HeadPos;
|
||||
int VI_ValidBuffCnt = GetSize() ;
|
||||
|
||||
for(; i<=mi_TailPos; ++i)
|
||||
{
|
||||
@ -7189,8 +7186,7 @@ namespace ZNsMain
|
||||
}/*
|
||||
for(i=0; i<mi_HeadPos; ++i)*/
|
||||
|
||||
mi_HeadPos=0 ;
|
||||
mi_TailPos=VI_ValidBuffCnt-1;
|
||||
mi_HeadPos= 0 ; mi_TailPos= VI_ValidBuffCnt-1;
|
||||
}/*
|
||||
void MoveFirst()*/
|
||||
|
||||
@ -7367,7 +7363,7 @@ namespace ZNsMain
|
||||
ZTypCPCh APC_FileName , ZTypCPCh APC_Content ,
|
||||
ZTypLength AL_ContentLen, bool AB_DoAppend=true, int AI_RightMode=-1
|
||||
)
|
||||
/*#####################################################################################################*/
|
||||
#######################################################################################################*/
|
||||
|
||||
|
||||
template<typename TStringData> bool ZftLoadFile /*////////////////////////////*/
|
||||
|
@ -17,83 +17,289 @@ namespace ZNsMain
|
||||
class ZtCArray //////////////////////////
|
||||
{
|
||||
public:
|
||||
typedef TType Type ;
|
||||
typedef TType TypeData;
|
||||
typedef TTypArg TypeArg ;
|
||||
typedef TSize TypeSize;
|
||||
typedef TType Type ;
|
||||
typedef TType TypeData ;
|
||||
typedef TTypArg TypeArg ;
|
||||
typedef TSize TypeSize ;
|
||||
public:
|
||||
class ZCIterator;
|
||||
class ZCNodePoint; class ZCNodePointN ;
|
||||
public:
|
||||
typedef Type* IterEasy;
|
||||
typedef ZCIterator iterator;
|
||||
typedef const ZCIterator const_iterator;
|
||||
typedef TypeData* IterEasy ;
|
||||
typedef TypeData* TypeNode ; // ZCLinkPoint::GetNode() 의 반환형.
|
||||
typedef ZCNodePoint TypeIter ;
|
||||
typedef ZtCArray TypeThis ;
|
||||
|
||||
typedef const TypeThis TypeThisC ;
|
||||
typedef const TypeData TypeDataC ;
|
||||
typedef const TypeData* TypeNodeC ; // ZCLinkPoint::GetNode() const 의 반환형.
|
||||
typedef const TypeIter TypeIterC ;
|
||||
typedef const TypeData* IterEasyC ;
|
||||
|
||||
/**********************************************/
|
||||
typedef const ZCNodePoint ZCNodePointC;
|
||||
typedef const ZCNodePoint iteratorC ;
|
||||
/**********************************************/
|
||||
typedef ZCNodePoint iterator ;
|
||||
typedef ZCNodePointN const_iterator;
|
||||
typedef ZCNodePointN iteratorN ;
|
||||
typedef ZCNodePointN TypeIterN ;
|
||||
public:
|
||||
|
||||
|
||||
class ZCIterator
|
||||
class ZCNodePoint
|
||||
{
|
||||
private: mutable
|
||||
Type* mp_Data ; mutable
|
||||
TSize ml_ElePos; // *mp_Data 가 배열에서 차지하는 위치
|
||||
ZtCArray* mp_CArray;
|
||||
private:
|
||||
ZtCArray& mr_CArray; mutable
|
||||
TypeData* mp_Data ; mutable
|
||||
TypeSize ml_ElePos; // *mp_Data 가 배열에서 차지하는 위치
|
||||
public:
|
||||
|
||||
ZCIterator()
|
||||
static ZCNodePoint MakeTailPoint(ZtCArray & AR_CArray)
|
||||
{
|
||||
mp_Data =0;
|
||||
mp_CArray=0;
|
||||
ml_ElePos=0;
|
||||
}/*
|
||||
ZCIterator()*/
|
||||
ZCNodePoint VO_ZCLinkPoint(AR_CArray);
|
||||
|
||||
ZCIterator(ZtCArray& AR_CArray, Type& AR_CData, TSize AL_ElePos)
|
||||
if(AR_CArray.size()>0) /****************************/
|
||||
{
|
||||
VO_ZCLinkPoint.mp_Data = AR_CArray.mp_TypeArr+AR_CArray.size()-1 ;
|
||||
VO_ZCLinkPoint.ml_ElePos = AR_CArray.size() ;
|
||||
}
|
||||
return VO_ZCLinkPoint; /****************************/
|
||||
}/*
|
||||
static ZCNodePoint MakeTailPoint(ZtCArray & AR_CArray)*/
|
||||
static ZCNodePoint MakeTailPoint(TypeIterC& AR_TypeIter)
|
||||
{
|
||||
ZCNodePoint VO_ZCLinkPoint(AR_TypeIter);
|
||||
|
||||
const TypeSize VL_ArrSize = AR_TypeIter.mr_CArray.size();
|
||||
|
||||
if(VL_ArrSize>0) /**********************************/
|
||||
{
|
||||
VO_ZCLinkPoint.mp_Data = AR_TypeIter.mr_CArray+VL_ArrSize-1 ;
|
||||
VO_ZCLinkPoint.ml_ElePos = VL_ArrSize ;
|
||||
}
|
||||
return VO_ZCLinkPoint; /****************************/
|
||||
}/*
|
||||
static ZCNodePoint MakeTailPoint(TypeIterC& AR_TypeIter)*/
|
||||
|
||||
public:
|
||||
|
||||
ZCNodePoint(ZtCArray& AR_CArray, Type& AR_CData, TSize AL_ElePos) :
|
||||
mr_CArray(AR_CArray)
|
||||
/*****************************************************************/
|
||||
{
|
||||
mp_Data =&AR_CData ;
|
||||
mp_CArray=&AR_CArray;
|
||||
ml_ElePos=AL_ElePos ;
|
||||
}/*
|
||||
ZCIterator(ZtCArray& AR_CArray, Type& AR_CData, TSize AL_ElePos)*/
|
||||
ZCNodePoint(ZtCArray& AR_CArray, Type& AR_CData, TSize AL_ElePos)*/
|
||||
|
||||
ZCIterator(ZtCArray& AR_CArray)
|
||||
ZCNodePoint(ZtCArray& AR_CArray) : mr_CArray(AR_CArray)
|
||||
{
|
||||
mp_Data = AR_CArray.mp_TypeArr ;
|
||||
mp_CArray=&AR_CArray ;
|
||||
ml_ElePos=(AR_CArray.size()>0 ? 1 : 0 ) ;
|
||||
}/*
|
||||
ZCIterator(ZtCArray& AR_CArray)*/
|
||||
ZCNodePoint(ZtCArray& AR_CArray)*/
|
||||
|
||||
ZCIterator(const ZtCArray& AR_CArray)
|
||||
ZCNodePoint(const ZCNodePoint& rhs) : mr_CArray(rhs.mr_CArray)
|
||||
{
|
||||
mp_Data = AR_CArray.mp_TypeArr ;
|
||||
mp_CArray= const_cast<ZtCArray*>(&AR_CArray);
|
||||
ml_ElePos= (AR_CArray.size()>0 ? 1 : 0 ) ;
|
||||
mp_Data = rhs.mp_Data ;
|
||||
ml_ElePos= (mr_CArray.size()>0 ? 1 : 0 );
|
||||
}/*
|
||||
ZCIterator(const ZtCArray& AR_CArray)*/
|
||||
ZCNodePoint(const ZCNodePoint& rhs)*/
|
||||
|
||||
Type& operator*( ){return *mp_Data;}
|
||||
Type* operator->(){return mp_Data;}
|
||||
|
||||
const Type& operator* () const{return *mp_Data;}
|
||||
const Type* operator->() const{return mp_Data;}
|
||||
TypeThis & GetMain() {return mr_CArray ;}
|
||||
TypeNode GetNode() {return mp_Data ;}
|
||||
|
||||
ZCIterator& operator++( ){++mp_Data; ++ml_ElePos; return *this;}
|
||||
ZCIterator operator++(int){++mp_Data; ++ml_ElePos; return *this;}
|
||||
TypeThisC& GetMain() const{return mr_CArray ;}
|
||||
TypeNodeC GetNode() const{return mp_Data ;}
|
||||
|
||||
const ZCIterator& operator++( ) const{++mp_Data; ++ml_ElePos; return *this;}
|
||||
const ZCIterator operator++(int) const{++mp_Data; ++ml_ElePos; return *this;}
|
||||
TypeSize GetPos () const{return ml_ElePos ;}
|
||||
TypeSize size () const{return mr_CArray.size();}
|
||||
|
||||
ZCIterator operator+(TSize AL_AddPos) const
|
||||
TypeData & operator* () {return *mp_Data;}
|
||||
TypeData * operator->() {return mp_Data;}
|
||||
TypeDataC& operator* () const{return *mp_Data;}
|
||||
TypeDataC* operator->() const{return mp_Data;}
|
||||
|
||||
TypeIter & operator++( ) {++mp_Data; ++ml_ElePos; return *this;}
|
||||
TypeIter operator++(int) {++mp_Data; ++ml_ElePos; return *this;}
|
||||
TypeIter & operator--( ) {--mp_Data; --ml_ElePos; return *this;}
|
||||
TypeIter operator--(int) {--mp_Data; --ml_ElePos; return *this;}
|
||||
|
||||
ZCNodePointC& operator++( ) const{++mp_Data; ++ml_ElePos; return *this;}
|
||||
ZCNodePointC operator++(int) const{++mp_Data; ++ml_ElePos; return *this;}
|
||||
ZCNodePointC& operator--( ) const{--mp_Data; --ml_ElePos; return *this;}
|
||||
ZCNodePointC operator--(int) const{--mp_Data; --ml_ElePos; return *this;}
|
||||
|
||||
TypeIter operator+(TSize AL_AddPos) const
|
||||
{
|
||||
return ZCIterator(*this, mp_Data+AL_AddPos, ml_ElePos+AL_AddPos);
|
||||
return ZCNodePoint(*this, mp_Data+AL_AddPos, ml_ElePos+AL_AddPos);
|
||||
}/*
|
||||
ZCIterator operator+(TSize AL_AddPos) const*/
|
||||
TypeIter operator+(TSize AL_AddPos) const*/
|
||||
|
||||
|
||||
bool operator == (ZCNodePointC& rhs) const
|
||||
{ return ml_ElePos == rhs.ml_ElePos; }
|
||||
bool operator != (ZCNodePointC& rhs) const
|
||||
{ return ml_ElePos != rhs.ml_ElePos; }
|
||||
bool operator > (ZCNodePointC& rhs) const
|
||||
{ return ml_ElePos > rhs.ml_ElePos; }
|
||||
bool operator >= (ZCNodePointC& rhs) const
|
||||
{ return ml_ElePos >= rhs.ml_ElePos; }
|
||||
bool operator < (ZCNodePointC& rhs) const
|
||||
{ return ml_ElePos < rhs.ml_ElePos; }
|
||||
bool operator <= (ZCNodePointC& rhs) const
|
||||
{ return ml_ElePos <= rhs.ml_ElePos; }
|
||||
|
||||
bool operator == (TypeSize AL_Size) const
|
||||
{ return ml_ElePos == AL_Size; }
|
||||
bool operator != (TypeSize AL_Size) const
|
||||
{ return ml_ElePos != AL_Size; }
|
||||
bool operator > (TypeSize AL_Size) const
|
||||
{ return ml_ElePos > AL_Size; }
|
||||
bool operator >= (TypeSize AL_Size) const
|
||||
{ return ml_ElePos >= AL_Size; }
|
||||
bool operator < (TypeSize AL_Size) const
|
||||
{ return ml_ElePos < AL_Size; }
|
||||
bool operator <= (TypeSize AL_Size) const
|
||||
{ return ml_ElePos <= AL_Size; }
|
||||
|
||||
public:
|
||||
};/*
|
||||
class ZCIterator
|
||||
class ZCNodePoint*/
|
||||
|
||||
|
||||
public :*/
|
||||
class ZCNodePointN
|
||||
{
|
||||
private:
|
||||
mutable TypeData* mp_Data ;
|
||||
mutable TypeSize ml_ElePos; // *mp_Data 가 배열에서 차지하는 위치
|
||||
const ZtCArray& mr_CArray;
|
||||
public:
|
||||
|
||||
static ZCNodePointN MakeTailPoint(ZtCArray & AR_CArray)
|
||||
{
|
||||
ZCNodePointN VO_ZCLinkPoint(AR_CArray);
|
||||
|
||||
if(AR_CArray.size()>0) /****************************/
|
||||
{
|
||||
VO_ZCLinkPoint.mp_Data = AR_CArray.mp_TypeArr+AR_CArray.size()-1 ;
|
||||
VO_ZCLinkPoint.ml_ElePos = AR_CArray.size() ;
|
||||
}
|
||||
return VO_ZCLinkPoint; /****************************/
|
||||
}/*
|
||||
static ZCNodePointN MakeTailPoint(ZtCArray & AR_CArray)*/
|
||||
static ZCNodePointN MakeTailPoint(TypeIterC& AR_TypeIter)
|
||||
{
|
||||
ZCNodePointN VO_ZCLinkPoint(AR_TypeIter);
|
||||
|
||||
const TypeSize VL_ArrSize = AR_TypeIter.mr_CArray.size();
|
||||
|
||||
if(VL_ArrSize>0) /**********************************/
|
||||
{
|
||||
VO_ZCLinkPoint.mp_Data = AR_TypeIter.mr_CArray+VL_ArrSize-1 ;
|
||||
VO_ZCLinkPoint.ml_ElePos = VL_ArrSize ;
|
||||
}
|
||||
return VO_ZCLinkPoint; /****************************/
|
||||
}/*
|
||||
static ZCNodePointN MakeTailPoint(TypeIterC& AR_TypeIter)*/
|
||||
static ZCNodePointN MakeTailPoint(TypeIterN& AR_TypeIter)
|
||||
{
|
||||
ZCNodePointN VO_ZCLinkPoint(AR_TypeIter);
|
||||
|
||||
const TypeSize VL_ArrSize = AR_TypeIter.mr_CArray.size();
|
||||
|
||||
if(VL_ArrSize>0) /**********************************/
|
||||
{
|
||||
VO_ZCLinkPoint.mp_Data = AR_TypeIter.mr_CArray+VL_ArrSize-1 ;
|
||||
VO_ZCLinkPoint.ml_ElePos = VL_ArrSize ;
|
||||
}
|
||||
return VO_ZCLinkPoint; /****************************/
|
||||
}/*
|
||||
static ZCNodePointN MakeTailPoint(TypeIterN& AR_TypeIter)*/
|
||||
|
||||
public:
|
||||
|
||||
ZCNodePointN(const ZtCArray& AR_CArray, Type& AR_CData, TSize AL_ElePos) :
|
||||
mr_CArray(AR_CArray)
|
||||
/*****************************************************************/
|
||||
{
|
||||
mp_Data =&AR_CData ;
|
||||
ml_ElePos=AL_ElePos ;
|
||||
}/*
|
||||
ZCNodePointN(ZtCArray& AR_CArray, Type& AR_CData, TSize AL_ElePos)*/
|
||||
|
||||
ZCNodePointN(ZtCArray& AR_CArray) : mr_CArray(AR_CArray)
|
||||
{
|
||||
mp_Data = AR_CArray.mp_Data ;
|
||||
ml_ElePos=(AR_CArray.size()>0 ? 1 : 0 ) ;
|
||||
}/*
|
||||
ZCNodePointN(ZtCArray& AR_CArray)*/
|
||||
|
||||
ZCNodePointN(const ZCNodePointN& rhs) : mr_CArray(rhs.mr_CArray)
|
||||
{
|
||||
mp_Data = rhs.mp_Data ;
|
||||
ml_ElePos=(mr_CArray.size()>0 ? 1 : 0 ) ;
|
||||
}/*
|
||||
ZCNodePointN(const ZCNodePointN& rhs)*/
|
||||
ZCNodePointN(const ZCNodePoint & rhs) : mr_CArray(rhs.mr_CArray)
|
||||
{
|
||||
mp_Data = rhs.mp_Data ;
|
||||
ml_ElePos=(mr_CArray.size()>0 ? 1 : 0 ) ;
|
||||
}/*
|
||||
ZCNodePointN(const ZCNodePoint & rhs)*/
|
||||
|
||||
|
||||
TypeSize size () const{return mr_CArray.size();}
|
||||
TypeSize GetPos() const{return ml_ElePos ;}
|
||||
|
||||
TypeDataC& operator* () const{return *mp_Data;}
|
||||
TypeDataC* operator->() const{return mp_Data;}
|
||||
|
||||
|
||||
TypeIterN& operator++( ) const{++mp_Data; ++ml_ElePos; return *this;}
|
||||
TypeIterN operator++(int) const{++mp_Data; ++ml_ElePos; return *this;}
|
||||
|
||||
TypeIterN operator+(TSize AL_AddPos) const
|
||||
{
|
||||
return ZCNodePointN(*this, mp_Data+AL_AddPos, ml_ElePos+AL_AddPos);
|
||||
}/*
|
||||
TypeIterN operator+(TSize AL_AddPos) const*/
|
||||
|
||||
|
||||
bool operator == (const ZCNodePointN& rhs) const
|
||||
{ return ml_ElePos == rhs.ml_ElePos; }
|
||||
bool operator != (const ZCNodePointN& rhs) const
|
||||
{ return ml_ElePos != rhs.ml_ElePos; }
|
||||
bool operator > (const ZCNodePointN& rhs) const
|
||||
{ return ml_ElePos > rhs.ml_ElePos; }
|
||||
bool operator >= (const ZCNodePointN& rhs) const
|
||||
{ return ml_ElePos >= rhs.ml_ElePos; }
|
||||
bool operator < (const ZCNodePointN& rhs) const
|
||||
{ return ml_ElePos < rhs.ml_ElePos; }
|
||||
bool operator <= (const ZCNodePointN& rhs) const
|
||||
{ return ml_ElePos <= rhs.ml_ElePos; }
|
||||
|
||||
bool operator == (TypeSize AL_Size) const
|
||||
{ return ml_ElePos == AL_Size; }
|
||||
bool operator != (TypeSize AL_Size) const
|
||||
{ return ml_ElePos != AL_Size; }
|
||||
bool operator > (TypeSize AL_Size) const
|
||||
{ return ml_ElePos > AL_Size; }
|
||||
bool operator >= (TypeSize AL_Size) const
|
||||
{ return ml_ElePos >= AL_Size; }
|
||||
bool operator < (TypeSize AL_Size) const
|
||||
{ return ml_ElePos < AL_Size; }
|
||||
bool operator <= (TypeSize AL_Size) const
|
||||
{ return ml_ElePos <= AL_Size; }
|
||||
|
||||
public:
|
||||
};/*
|
||||
class ZCNodePointN*/
|
||||
|
||||
|
||||
public :
|
||||
/**************************************************************************/
|
||||
protected:
|
||||
enum{ZEAddSize=20};
|
||||
protected:
|
||||
@ -336,11 +542,17 @@ namespace ZNsMain
|
||||
void push_front(TypeArg AR_TypeArg){AddHead(AR_TypeArg);}
|
||||
void push_back (TypeArg AR_TypeArg){AddTail(AR_TypeArg);}
|
||||
|
||||
Type& push_front(){return AddHead();}
|
||||
Type& push_back (){return AddTail();}
|
||||
TypeData& push_front(){return AddHead();}
|
||||
TypeData& push_back (){return AddTail();}
|
||||
|
||||
/***/ ZCIterator begin() {return ZCIterator(*this);}
|
||||
const ZCIterator begin() const{return ZCIterator(*this);}
|
||||
TypeIter begin () {return ZCNodePoint (*this);}
|
||||
TypeIterN begin () const{return ZCNodePointN(*this);}
|
||||
|
||||
iterator end () { return ZCNodePoint ::MakeTailPoint(*this); }
|
||||
iteratorN end () const{ return ZCNodePointN::MakeTailPoint(*this); }
|
||||
|
||||
iteratorN cbegin() const{ return ZCNodePointN(*this); }
|
||||
iteratorN cend () const{ return ZCNodePointN::MakeTailPoint(*this); }
|
||||
|
||||
|
||||
template<typename TFunctor> void IterElement(TFunctor AO_Functor)
|
||||
@ -535,103 +747,97 @@ namespace ZNsMain
|
||||
|
||||
-- 2011-06-12 20:42:00
|
||||
|
||||
GetDataInIter() 를 ItD() 로 대체. -- 2025-10-15 15:49
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////*/
|
||||
|
||||
Type* GetHeadIterEasy (){return mp_TypeArr ;}
|
||||
Type* GetTailIterEasy (){return mp_TypeArr+ml_UseSize-1 ;}
|
||||
IterEasyID GetHeadIterEasyID(){return (IterEasyID) mp_TypeArr ;}
|
||||
IterEasyID GetTailIterEasyID(){return (IterEasyID)(mp_TypeArr+ml_UseSize-1);}
|
||||
TypeData * GetHeadIterEasy () {return mp_TypeArr ;}
|
||||
TypeData * GetTailIterEasy () {return mp_TypeArr+ml_UseSize-1 ;}
|
||||
IterEasyID GetHeadIterEasyID () {return (IterEasyID ) mp_TypeArr ;}
|
||||
IterEasyID GetTailIterEasyID () {return (IterEasyID )(mp_TypeArr+ml_UseSize-1);}
|
||||
|
||||
const Type* GetHeadIterEasy () const{return mp_TypeArr ;}
|
||||
const Type* GetTailIterEasy () const{return mp_TypeArr+ml_UseSize-1 ;}
|
||||
const IterEasyID GetHeadIterEasyID() const{return (IterEasyID) mp_TypeArr ;}
|
||||
const IterEasyID GetTailIterEasyID() const{return (IterEasyID)(mp_TypeArr+ml_UseSize-1);}
|
||||
TypeDataC* GetHeadIterEasy () const{return mp_TypeArr ;}
|
||||
TypeDataC* GetTailIterEasy () const{return mp_TypeArr+ml_UseSize-1 ;}
|
||||
IterEasyIDc GetHeadIterEasyID () const{return (IterEasyIDc) mp_TypeArr ;}
|
||||
IterEasyIDc GetTailIterEasyID () const{return (IterEasyIDc)(mp_TypeArr+ml_UseSize-1);}
|
||||
|
||||
void MoveNextIter(Type*& APR_CType ) const{++APR_CType ;}
|
||||
void MoveNextIter(iterator& ARR_CIterator) const{++ARR_CIterator;}
|
||||
void MoveNextIter(IterEasyID& AI_IterEasyID) const
|
||||
{ MoveNextIter((Type*&)AI_IterEasyID); }
|
||||
void MoveNextIter(const Type*& APR_CType ) const{++APR_CType ;}
|
||||
void MoveNextIter(const iterator& ARR_CIterator) const{++ARR_CIterator;}
|
||||
void MoveNextIter(const IterEasyID& AI_IterEasyID)
|
||||
const{ MoveNextIter((const Type*&)AI_IterEasyID); }
|
||||
IterEasyIDc GetHeadIterEasyIDc() const{return (IterEasyIDc) mp_TypeArr ;}
|
||||
IterEasyIDc GetTailIterEasyIDc() const{return (IterEasyIDc)(mp_TypeArr+ml_UseSize-1);}
|
||||
|
||||
void MovePrevIter(Type*& APR_CType ) const{--APR_CType ;}
|
||||
void MovePrevIter(iterator& ARR_CIterator) const{--ARR_CIterator;}
|
||||
void MovePrevIter(IterEasyID& AI_IterEasyID) const
|
||||
{ MovePrevIter((Type*&)AI_IterEasyID); }
|
||||
void MovePrevIter(const Type*& APR_CType ) const{--APR_CType ;}
|
||||
void MovePrevIter(const iterator& ARR_CIterator) const{--ARR_CIterator;}
|
||||
void MovePrevIter(const IterEasyID& AI_IterEasyID)
|
||||
const{ MovePrevIter((const Type*&)AI_IterEasyID); }
|
||||
void MoveNextIter(TypeData* & APR_CType ) const{++APR_CType ;}
|
||||
void MoveNextIter(iterator & ARR_CIterator) const{++ARR_CIterator;}
|
||||
void MoveNextIter(IterEasyID & AI_IterEasyID) const
|
||||
{ MoveNextIter((TypeData *&)AI_IterEasyID); }
|
||||
void MoveNextIter(TypeDataC* & APR_CType ) const{++APR_CType ;}
|
||||
void MoveNextIter(iteratorC & ARR_CIterator) const{++ARR_CIterator;}
|
||||
void MoveNextIter(IterEasyIDc& AI_IterEasyID) const
|
||||
{ MoveNextIter((TypeDataC*&)AI_IterEasyID); }
|
||||
|
||||
void MovePrevIter(TypeData* & APR_CType ) const{--APR_CType ;}
|
||||
void MovePrevIter(iterator & ARR_CIterator) const{--ARR_CIterator;}
|
||||
void MovePrevIter(IterEasyID & AI_IterEasyID) const
|
||||
{ MovePrevIter((TypeData *&)AI_IterEasyID); }
|
||||
void MovePrevIter(TypeDataC* & APR_CType ) const{--APR_CType ;}
|
||||
void MovePrevIter(iteratorC & ARR_CIterator) const{--ARR_CIterator;}
|
||||
void MovePrevIter(IterEasyIDc& AI_IterEasyID) const
|
||||
{ MovePrevIter((TypeDataC*&)AI_IterEasyID); }
|
||||
|
||||
|
||||
Type& GetDataInIter(Type* AP_CType ){return *AP_CType ;}
|
||||
Type& GetDataInIter(iterator& ARR_CIterator){return *ARR_CIterator ;}
|
||||
Type& GetDataInIter(IterEasyID AI_IterEasyID){return *(Type*)AI_IterEasyID;}
|
||||
TypeData * ItHEasy() {return mp_TypeArr ;}
|
||||
TypeData * ItTEasy() {return mp_TypeArr+ml_UseSize-1 ;}
|
||||
IterEasyID ItHID () {return (IterEasyID ) mp_TypeArr ;}
|
||||
IterEasyID ItTID () {return (IterEasyID )(mp_TypeArr+ml_UseSize-1);}
|
||||
|
||||
const Type& GetDataInIter(const Type* AP_CType ) const{return *AP_CType;}
|
||||
const Type& GetDataInIter(const iterator& ARR_CIterator) const{return *ARR_CIterator;}
|
||||
const Type& GetDataInIter(const IterEasyID AI_IterEasyID) const
|
||||
{ return *(const Type*)AI_IterEasyID; }
|
||||
TypeDataC* ItHEasy() const{return mp_TypeArr ;}
|
||||
TypeDataC* ItTEasy() const{return mp_TypeArr+ml_UseSize-1 ;}
|
||||
IterEasyIDc ItHID () const{return (IterEasyIDc) mp_TypeArr ;}
|
||||
IterEasyIDc ItTID () const{return (IterEasyIDc)(mp_TypeArr+ml_UseSize-1);}
|
||||
|
||||
IterEasyIDc ItHIDc () const{return (IterEasyIDc) mp_TypeArr ;}
|
||||
IterEasyIDc ItTIDc () const{return (IterEasyIDc)(mp_TypeArr+ml_UseSize-1);}
|
||||
|
||||
void ItNext(TypeData* & APR_CType ) const{++APR_CType ;}
|
||||
void ItNext(iterator & ARR_CIterator) const{++ARR_CIterator;}
|
||||
void ItNext(IterEasyID & AI_IterEasyID) const
|
||||
{ ItNext((TypeData *&)AI_IterEasyID); }
|
||||
void ItNext(TypeDataC* & APR_CType ) const{++APR_CType ;}
|
||||
void ItNext(iteratorC & ARR_CIterator) const{++ARR_CIterator;}
|
||||
void ItNext(IterEasyIDc & AI_IterEasyID) const
|
||||
{ ItNext((TypeDataC*&)AI_IterEasyID); }
|
||||
|
||||
void ItPrev(TypeData* & APR_CType ) const{--APR_CType ;}
|
||||
void ItPrev(iterator & ARR_CIterator) const{--ARR_CIterator;}
|
||||
void ItPrev(IterEasyID & AI_IterEasyID) const
|
||||
{ ItPrev((TypeData *&)AI_IterEasyID); }
|
||||
void ItPrev(TypeDataC* & APR_CType ) const{--APR_CType ;}
|
||||
void ItPrev(iteratorC & ARR_CIterator) const{--ARR_CIterator;}
|
||||
void ItPrev(IterEasyIDc & AI_IterEasyID) const
|
||||
{ ItPrev((TypeDataC*&)AI_IterEasyID); }
|
||||
|
||||
TypeData& ItD(TypeData * AP_CType ) {return *AP_CType ;}
|
||||
TypeData& ItD(iterator & ARR_CIterator) {return *ARR_CIterator;}
|
||||
TypeData& ItD(IterEasyID AI_IterEasyID)
|
||||
{ return *(TypeData *)AI_IterEasyID; }
|
||||
|
||||
TypeDataC& ItD(TypeDataC * AP_CType ) const{return *AP_CType;}
|
||||
TypeDataC& ItD(iteratorC & ARR_CIterator) const{return *ARR_CIterator;}
|
||||
TypeDataC& ItD(IterEasyIDc AI_IterEasyID) const
|
||||
{ return *(TypeDataC*)AI_IterEasyID; }
|
||||
|
||||
|
||||
Type& GetDataInIter(Type* AP_Type , TypeSize AI_FarNum)
|
||||
TypeData & ItD(TypeData * AP_Type , TypeSize AI_FarNum)
|
||||
{ return *(AP_Type + AI_FarNum) ; }
|
||||
Type& GetDataInIter(iterator& ARR_CIterator , TypeSize AI_FarNum)
|
||||
TypeData & ItD(iterator & ARR_CIterator , TypeSize AI_FarNum)
|
||||
{ return *(ARR_CIterator+AI_FarNum) ; }
|
||||
Type& GetDataInIter(IterEasyID ARRI_IterEasyID, TypeSize AI_FarNum)
|
||||
{ return GetDataInIter((Type*)ARRI_IterEasyID, AI_FarNum); }
|
||||
TypeData & ItD(IterEasyID AH_IterEasyID , TypeSize AI_FarNum)
|
||||
{ return ItD((TypeData*)AH_IterEasyID , AI_FarNum); }
|
||||
|
||||
const Type& GetDataInIter(const Type* AP_Type , TypeSize AI_FarNum) const
|
||||
TypeDataC& ItD(TypeDataC * AP_Type , TypeSize AI_FarNum) const
|
||||
{ return *(AP_Type + AI_FarNum); }
|
||||
const Type& GetDataInIter(iterator& ARR_CIterator, TypeSize AI_FarNum) const
|
||||
TypeDataC& ItD(iterator & ARR_CIterator , TypeSize AI_FarNum) const
|
||||
{ return *(ARR_CIterator+AI_FarNum); }
|
||||
const Type& GetDataInIter(const IterEasyID ARRI_IterEasyID, TypeSize AI_FarNum) const
|
||||
{ return GetDataInIter((const Type*)ARRI_IterEasyID, AI_FarNum); }
|
||||
|
||||
|
||||
Type* ItHEasy(){return mp_TypeArr ;}
|
||||
Type* ItTEasy(){return mp_TypeArr+ml_UseSize-1 ;}
|
||||
IterEasyID ItHID (){return (IterEasyID) mp_TypeArr ;}
|
||||
IterEasyID ItTID (){return (IterEasyID)(mp_TypeArr+ml_UseSize-1);}
|
||||
|
||||
const Type* ItHEasy () const{return mp_TypeArr ;}
|
||||
const Type* ItTEasy () const{return mp_TypeArr+ml_UseSize-1 ;}
|
||||
const IterEasyID ItHID() const{return (IterEasyID) mp_TypeArr ;}
|
||||
const IterEasyID ItTID() const{return (IterEasyID)(mp_TypeArr+ml_UseSize-1);}
|
||||
|
||||
void ItNext(Type*& APR_CType ) const{++APR_CType ;}
|
||||
void ItNext(iterator& ARR_CIterator) const{++ARR_CIterator;}
|
||||
void ItNext(IterEasyID& AI_IterEasyID) const
|
||||
{ ItNext((Type*&)AI_IterEasyID); }
|
||||
void ItNext(const Type*& APR_CType ) const{++APR_CType ;}
|
||||
void ItNext(const iterator& ARR_CIterator) const{++ARR_CIterator;}
|
||||
void ItNext(const IterEasyID& AI_IterEasyID)
|
||||
const{ ItNext((const Type*&)AI_IterEasyID); }
|
||||
|
||||
void ItPrev(Type*& APR_CType ) const{--APR_CType ;}
|
||||
void ItPrev(iterator& ARR_CIterator) const{--ARR_CIterator;}
|
||||
void ItPrev(IterEasyID& AI_IterEasyID) const
|
||||
{ ItPrev((Type*&)AI_IterEasyID); }
|
||||
void ItPrev(const Type*& APR_CType ) const{--APR_CType ;}
|
||||
void ItPrev(const iterator& ARR_CIterator) const{--ARR_CIterator;}
|
||||
void ItPrev(const IterEasyID& AI_IterEasyID)
|
||||
const{ ItPrev((const Type*&)AI_IterEasyID); }
|
||||
|
||||
Type& ItD(Type* AP_Type ){return GetDataInIter(AP_Type );}
|
||||
Type& ItD(iterator& ARR_CIterator ){return GetDataInIter(ARR_CIterator );}
|
||||
Type& ItD(IterEasyID ARRI_IterEasyID ){return GetDataInIter(ARRI_IterEasyID );}
|
||||
Type& ItD(Type* AP_Type , TypeSize AI_FarNum){return GetDataInIter(AP_Type , AI_FarNum );}
|
||||
Type& ItD(iterator& ARR_CIterator , TypeSize AI_FarNum){return GetDataInIter(ARR_CIterator , AI_FarNum);}
|
||||
Type& ItD(IterEasyID ARRI_IterEasyID, TypeSize AI_FarNum){return GetDataInIter(ARRI_IterEasyID, AI_FarNum);}
|
||||
|
||||
const Type& ItD(const Type* AP_Type ) const{return GetDataInIter(AP_Type );}
|
||||
const Type& ItD(const iterator& ARR_CIterator ) const{return GetDataInIter(ARR_CIterator );}
|
||||
const Type& ItD(const IterEasyID ARRI_IterEasyID ) const{return GetDataInIter(ARRI_IterEasyID );}
|
||||
const Type& ItD(const Type* AP_Type , TypeSize AI_FarNum) const{return GetDataInIter(AP_Type );}
|
||||
const Type& ItD(const iterator& ARR_CIterator , TypeSize AI_FarNum) const{return GetDataInIter(ARR_CIterator , AI_FarNum);}
|
||||
const Type& ItD(const IterEasyID ARRI_IterEasyID, TypeSize AI_FarNum) const{return GetDataInIter(ARRI_IterEasyID, AI_FarNum);}
|
||||
TypeDataC& ItD(IterEasyIDc AH_IterEasyID , TypeSize AI_FarNum) const
|
||||
{ return ItD((TypeDataC*)AH_IterEasyID, AI_FarNum); }
|
||||
|
||||
public:
|
||||
};/*
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -480,7 +480,7 @@ namespace ZNsMain
|
||||
(
|
||||
const TypeChar* AP_CharID, ZCStringData& ARR_CStringSave
|
||||
) const
|
||||
/*#############################################################################*/
|
||||
###############################################################################*/
|
||||
|
||||
|
||||
ZCStringData GetElementValueByID(const ZCStringData& AR_CStringID) const
|
||||
@ -4040,7 +4040,7 @@ namespace ZNsMain
|
||||
const TypeChar* APC_XmlData ,
|
||||
TypeLength AI_DataLen
|
||||
)
|
||||
/*#############################################################################*/
|
||||
###############################################################################*/
|
||||
|
||||
template<typename TViewLoadXml, typename TMainChars>
|
||||
ZERunEx Exec(TViewLoadXml& AR_CViewLoadXml, const TMainChars& AR_CMainChars)
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -160,7 +160,7 @@ namespace ZNsMain
|
||||
typedef TypeSize size_type ; // for stl string/wstring
|
||||
public:
|
||||
};/*
|
||||
class ZtCCharType /*#####################################################*/
|
||||
class ZtCCharType #######################################################*/
|
||||
|
||||
|
||||
|
||||
@ -307,10 +307,10 @@ namespace ZNsMain
|
||||
typedef const TTypCh* TypeCharCP ;
|
||||
typedef const TTypCh* TypeCPChar ;
|
||||
typedef TTypCh* TypePChar ;
|
||||
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
|
||||
|
||||
typedef TTypeString ZCTypeString;
|
||||
typedef ZtCStringBase ZCStringBase;
|
||||
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
|
||||
|
||||
typedef ZtCStringBase TypeThis ;
|
||||
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
|
||||
typedef typename ZCTypeString::ZCSearchInfo ZCSearchInfo ;
|
||||
@ -320,21 +320,22 @@ namespace ZNsMain
|
||||
typedef typename ZCTypeString::TypeLong TypeLong ;
|
||||
typedef typename ZCTypeString::TypeLong TypeSize ;
|
||||
typedef typename ZCTypeString::TypeLong TypeLength ;
|
||||
public:
|
||||
typedef typename ZCTypeChars ::ZCChars ZCChars ;
|
||||
typedef typename ZCTypeChars ::ZCChars ZCCharView ; // for string_view in C++17
|
||||
public:
|
||||
typedef const ZCChars ZCCharsC ;
|
||||
typedef const ZCChars ZCCharViewC;
|
||||
public:
|
||||
typedef TypeChar TypeData ;
|
||||
typedef ZCStringList TypeList ;
|
||||
public:
|
||||
typedef ZNsMain::ZtCCharType<ZtCStringBase> ZCCharType ;
|
||||
typedef typename ZCCharType::TypeInt TypeCharInt;
|
||||
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
|
||||
typedef ZNsMain::ZtCCharType<ZtCStringBase> traits_type; // for strl string/wstring
|
||||
typedef TypeSize size_type ; // for strl string/wstring
|
||||
typedef typename ZCTypeChars ::ZCChars ZCChars ;
|
||||
typedef typename ZCTypeChars ::ZCChars ZCCharView ; // for string_view in C++17
|
||||
|
||||
typedef const ZCChars ZCCharsC ;
|
||||
typedef const ZCChars ZCCharViewC ;
|
||||
|
||||
typedef TypeChar TypeData ;
|
||||
typedef ZCStringList TypeList ;
|
||||
|
||||
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
|
||||
typedef ZtCCharType<ZtCStringBase> ZCCharType ;
|
||||
typedef typename ZCCharType::TypeInt TypeCharInt;
|
||||
|
||||
typedef ZtCCharType<ZtCStringBase> traits_type; // for strl string/wstring
|
||||
typedef TypeSize size_type ; // for strl string/wstring
|
||||
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
|
||||
|
||||
enum EWriteFile // WriteFile() 에서 사용한다.
|
||||
@ -747,7 +748,8 @@ namespace ZNsMain
|
||||
}
|
||||
/////////////////////////////////////////////////////////
|
||||
|
||||
/*public : /*++++++++++++++++++++++++++++++++++++++++++++++*/
|
||||
public :
|
||||
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++*/
|
||||
protected:
|
||||
TypeLength ml_AllLen;
|
||||
TypeLength ml_UseLen;
|
||||
@ -1063,7 +1065,7 @@ namespace ZNsMain
|
||||
TypeChar* APC_Buff, TypeLength AL_BuffSize, bool AB_DoEndNull=true
|
||||
)
|
||||
const
|
||||
/*#############################################################################*/
|
||||
###############################################################################*/
|
||||
|
||||
|
||||
ZCStringBase& Invalid(TypeLength AL_Index=0)
|
||||
@ -1171,11 +1173,11 @@ namespace ZNsMain
|
||||
const ZCCharView& AR_View, TypeLength AL_StartPos)*/
|
||||
|
||||
|
||||
ZCStringBase& InvalidSearchFromEnd
|
||||
ZCStringBase& InvalidSearchFromEnd /*///////////////*/
|
||||
(
|
||||
TypeCharC* APC_Search, TypeLength AL_SearchLen
|
||||
)
|
||||
/*#################################*/
|
||||
/*##################################################*/
|
||||
{
|
||||
// APC_Search 를 뒤로부터 찾아서 그 부분을 무효화시킨다.
|
||||
|
||||
@ -1186,12 +1188,8 @@ namespace ZNsMain
|
||||
APC_Search, AL_SearchLen, ml_UseLen-1
|
||||
);
|
||||
/*<<<<<<<<<<<<<<<<<<<<<<<<<<*/
|
||||
}/*
|
||||
ZCStringBase& InvalidSearchFromEnd
|
||||
(
|
||||
TypeCharC* APC_Search, TypeLength AL_SearchLen
|
||||
)
|
||||
/*###############################*/
|
||||
}
|
||||
/*##################################################*/
|
||||
|
||||
ZCStringBase& InvalidSearchFromEnd(const ZCCharView& AR_View)
|
||||
{
|
||||
@ -1647,21 +1645,13 @@ namespace ZNsMain
|
||||
ZCStringBase& operator()(ZTypLLong ALL_LLongParam)
|
||||
{
|
||||
const int CI_BuffSize= 41; TypeChar VCA_BuffParam[CI_BuffSize] ;
|
||||
#ifdef _WIN
|
||||
|
||||
int VI_ResultSize = /*::::::::::::::::::::::::::::::::::::::::*/
|
||||
(
|
||||
sizeof(TypeChar)<=1
|
||||
? ::sprintf ((char* )VCA_BuffParam, /*++++++++*/ "%I64d", ALL_LLongParam)
|
||||
: ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%I64d", ALL_LLongParam)
|
||||
);
|
||||
#else
|
||||
int VI_ResultSize =
|
||||
(
|
||||
sizeof(TypeChar)<=1
|
||||
? ::sprintf ((char* )VCA_BuffParam, /*++++++++*/ "%lld" , ALL_LLongParam)
|
||||
: ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%lld" , ALL_LLongParam)
|
||||
);
|
||||
#endif
|
||||
return (*this)(VCA_BuffParam, VI_ResultSize); /*::::::::::::::*/
|
||||
}/*
|
||||
ZCStringBase& operator()(ZTypLLong ALL_LLongParam)*/
|
||||
@ -1669,21 +1659,13 @@ namespace ZNsMain
|
||||
ZCStringBase& operator()(ZTypULLong AULL_LLongParam)
|
||||
{
|
||||
const int CI_BuffSize= 41; TypeChar VCA_BuffParam[CI_BuffSize] ;
|
||||
#ifdef _WIN
|
||||
int VI_ResultSize = /*::::::::::::::::::::::::::::::::::::::::*/
|
||||
(
|
||||
sizeof(TypeChar)<=1
|
||||
? ::sprintf ((char* )VCA_BuffParam, /*+++++++*/ "%I64u", AULL_LLongParam)
|
||||
: ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%I64u", AULL_LLongParam)
|
||||
);
|
||||
#else
|
||||
|
||||
int VI_ResultSize = /*::::::::::::::::::::::::::::::::::::::::*/
|
||||
(
|
||||
sizeof(TypeChar)<=1
|
||||
? ::sprintf ((char* )VCA_BuffParam, /*++++++++*/ "%llu" , AULL_LLongParam)
|
||||
: ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%llu" , AULL_LLongParam)
|
||||
);
|
||||
#endif
|
||||
return (*this)(VCA_BuffParam, VI_ResultSize); /*::::::::::::::*/
|
||||
}/*
|
||||
ZCStringBase& operator()(ZTypULLong AULL_LLongParam)*/
|
||||
@ -1819,7 +1801,7 @@ namespace ZNsMain
|
||||
(
|
||||
TypeLength AL_Index, TypeCharC* APC_Search, TypeLength AL_SearchLen
|
||||
)
|
||||
/*#############################################################################*/
|
||||
###############################################################################*/
|
||||
|
||||
|
||||
TypeLength ReadLong(TypeLength AL_Index, const ZCCharView& AR_View)
|
||||
@ -1859,7 +1841,7 @@ namespace ZNsMain
|
||||
);
|
||||
/*///////////////////////////////////////////////*/
|
||||
|
||||
if(CB_IsTrue) return ARR_Rhs; return
|
||||
if(CB_IsTrue){return ARR_Rhs;} return
|
||||
|
||||
ARR_Rhs( mpc_Data+AL_Index1, AL_Index2-AL_Index1+1 );
|
||||
}/*
|
||||
@ -1869,7 +1851,7 @@ namespace ZNsMain
|
||||
TypeLength AL_Index1 ,
|
||||
TypeLength AL_Index2
|
||||
)
|
||||
/*#############################################################################*/
|
||||
###############################################################################*/
|
||||
|
||||
|
||||
ZCStringBase& ReadCStr //////////////////////////
|
||||
@ -1991,7 +1973,7 @@ namespace ZNsMain
|
||||
(
|
||||
TypeChar AC_SearchChar, TypeChar AC_ReplaceChar, TypeLength AI_StartPos=0
|
||||
)
|
||||
/*#############################################################################*/
|
||||
###############################################################################*/
|
||||
|
||||
|
||||
ZCStringBase& ReplaceOnce /*///////////////////////////////////////////////////*/
|
||||
@ -2020,7 +2002,7 @@ namespace ZNsMain
|
||||
TypeLength AL_SearchLen, TypeLength AL_ReplaceLen,
|
||||
TypeLength AL_StartPos=0
|
||||
)
|
||||
/*#############################################################################*/
|
||||
###############################################################################*/
|
||||
|
||||
ZCStringBase& ReplaceOnce /*///////////////////////////////////////////////////*/
|
||||
(
|
||||
@ -2227,7 +2209,7 @@ namespace ZNsMain
|
||||
for(int j=AL_SectPos-1; j>=0; --j)
|
||||
{
|
||||
*VPC_Dest-- = APC_Origin[j] ;
|
||||
}/*
|
||||
}
|
||||
/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||
|
||||
ARR_Rhs.data()[VL_AllMemSize]=0;
|
||||
@ -2401,7 +2383,7 @@ namespace ZNsMain
|
||||
AR_Origin.size(), AR_Replace.size()
|
||||
);
|
||||
//////////////////////////
|
||||
}/*
|
||||
}
|
||||
/*############################################################################*/
|
||||
|
||||
|
||||
@ -2953,7 +2935,7 @@ namespace ZNsMain
|
||||
(
|
||||
TypeLength AL_Index, TypeLength AL_Count, ZCStringBase& ARR_Rhs
|
||||
)
|
||||
/*#############################################################################*/
|
||||
###############################################################################*/
|
||||
|
||||
|
||||
static ZCStringBase& GetSubSearch /*##########################################*/
|
||||
@ -3621,7 +3603,7 @@ namespace ZNsMain
|
||||
TypeLength AL_OriginLen ,
|
||||
TypeLength AL_SearchLen
|
||||
)
|
||||
/*###############################################################*/
|
||||
#################################################################*/
|
||||
|
||||
|
||||
template<typename TFunctor> void Split( //////////////////////////
|
||||
@ -3799,7 +3781,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)
|
||||
{
|
||||
@ -3883,7 +3865,7 @@ namespace ZNsMain
|
||||
TypeLength AL_SearchLen ,
|
||||
bool AB_DoExecNull =true
|
||||
)
|
||||
/*##############################################################*/
|
||||
################################################################*/
|
||||
|
||||
|
||||
template<typename TFunctor> void SplitEach /*/////////////////////////////////*/
|
||||
@ -4049,7 +4031,7 @@ namespace ZNsMain
|
||||
bool AB_DoAppendEachLink=false,
|
||||
bool AB_DoAppendEmpty =false
|
||||
)
|
||||
/*#############################################################*/
|
||||
###############################################################*/
|
||||
|
||||
|
||||
template<typename TStringList>
|
||||
@ -4578,7 +4560,7 @@ namespace ZNsMain
|
||||
|
||||
for(k=0; k<AL_SearchMinLen; ++k)
|
||||
{
|
||||
if(*VPC_CloseChar++ != *VPC_SearchChar++) break; ++VL_ClosePos;
|
||||
if(*VPC_CloseChar++ != *VPC_SearchChar++){break;} ++VL_ClosePos;
|
||||
}/*
|
||||
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||
|
||||
@ -4739,7 +4721,7 @@ namespace ZNsMain
|
||||
|
||||
for(k=0; k<AL_SearchMinLen; ++k)
|
||||
{
|
||||
if(*VPC_CloseChar++ != *VPC_SearchChar++) break; ++VL_ClosePos;
|
||||
if(*VPC_CloseChar++ != *VPC_SearchChar++){break;} ++VL_ClosePos;
|
||||
}/*
|
||||
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||
|
||||
@ -4749,7 +4731,7 @@ namespace ZNsMain
|
||||
{
|
||||
for(k=AL_SearchMinLen; k<VL_SearchLen; ++k)
|
||||
{
|
||||
if(*VPC_CloseChar++ != *VPC_SearchChar++) break; ++VL_ClosePos;
|
||||
if(*VPC_CloseChar++ != *VPC_SearchChar++){break;} ++VL_ClosePos;
|
||||
}/*
|
||||
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||
}/*
|
||||
@ -4816,7 +4798,7 @@ namespace ZNsMain
|
||||
TypeLength AL_OriginLen ,
|
||||
TypeLength AL_SearchMinLen=1
|
||||
)
|
||||
/*##############################################################*/
|
||||
################################################################*/
|
||||
|
||||
|
||||
template<typename TSaveList, typename TFindList>
|
||||
@ -4928,7 +4910,7 @@ namespace ZNsMain
|
||||
TypeLength AL_Search2Len ,
|
||||
bool AB_DoIncludeSearch=false
|
||||
)
|
||||
/*##############################################################*/
|
||||
################################################################*/
|
||||
|
||||
|
||||
ZCStringList& ExtractBetweenToList /*##########################*/
|
||||
@ -4962,7 +4944,7 @@ namespace ZNsMain
|
||||
TypeLength AL_Search2Len ,
|
||||
bool AB_DoIncludeSearch=false
|
||||
)
|
||||
/*##############################################################*/
|
||||
################################################################*/
|
||||
|
||||
|
||||
ZCStringList& ExtractBetweenToList /*###########################*/
|
||||
@ -5869,7 +5851,7 @@ namespace ZNsMain
|
||||
for(; j<AL_SearchLen; ++j)
|
||||
{ if(APC_Origin[i+j]!=APC_Search[j]) break; }
|
||||
|
||||
if(j==AL_SearchLen) return i; --i;
|
||||
if(j==AL_SearchLen){return i;} --i;
|
||||
}/*
|
||||
while(i>=0)*/
|
||||
|
||||
@ -5938,7 +5920,7 @@ namespace ZNsMain
|
||||
const bool CB_IsBad = (
|
||||
AL_OriginLen<1 || AL_StartPos>=AL_OriginLen || AR_SearchList.size()<1 );
|
||||
|
||||
if(CB_IsBad) return -1; TypeLength VL_SearchCnt=AR_SearchList.size();
|
||||
if(CB_IsBad){return -1;} TypeLength VL_SearchCnt=AR_SearchList.size();
|
||||
|
||||
for(TypeLength i=AL_StartPos; i<AL_OriginLen; ++i)
|
||||
{
|
||||
@ -6855,7 +6837,7 @@ namespace ZNsMain
|
||||
ZCStringBase& ARR_CStrNoExt, ZCStringBase& ARR_CStrExt,
|
||||
TypeCharC* APC_FullPath , TypeLength AL_FullPathLen
|
||||
)
|
||||
/*#############################################################################*/
|
||||
###############################################################################*/
|
||||
|
||||
static void SplitPath(
|
||||
ZCStringBase& ARR_CStrNoExt, ZCStringBase& ARR_CStrExt, TypeCharC* APC_FullPath)
|
||||
@ -6936,7 +6918,7 @@ namespace ZNsMain
|
||||
(
|
||||
HANDLE AH_File, ZTypLLong ALL_Offset, DWORD ADW_MoveMethod=FILE_BEGIN
|
||||
)
|
||||
/*#############################################################################*/
|
||||
###############################################################################*/
|
||||
|
||||
|
||||
static inline LARGE_INTEGER To_LARGE_INTEGER (__int64 ALL_Distance)
|
||||
@ -7090,7 +7072,7 @@ namespace ZNsMain
|
||||
TypeLength VL_TempPos = mr_CString.
|
||||
FindPos(APC_FindChars, AL_FindLen, ml_NowPos);
|
||||
|
||||
if(VL_TempPos<0) return -1; return ml_NowPos=VL_TempPos;
|
||||
if(VL_TempPos<0){return -1;} return ml_NowPos=VL_TempPos;
|
||||
}/*
|
||||
TypeLength Find(TypeCharC* APC_FindChars, TypeLength AL_FindLen)*/
|
||||
|
||||
@ -7114,7 +7096,7 @@ namespace ZNsMain
|
||||
(APC_FindChars, AL_FindLen, ml_NowPos);
|
||||
/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||
|
||||
if(VL_TempPos<0) return -1; return ml_NowPos=VL_TempPos;
|
||||
if(VL_TempPos<0){return -1;} return ml_NowPos=VL_TempPos;
|
||||
}/*
|
||||
TypeLength Find(TypeCharC* APC_FindChars, TypeLength AL_FindLen)*/
|
||||
|
||||
@ -7194,7 +7176,9 @@ namespace ZNsMain
|
||||
typedef ZtCStringBase
|
||||
<TTypCh, TAlloc, TAllocSize, TTypeString> ZCStringBase;
|
||||
typedef typename ZCStringBase::ZCStringList ZCStringList;
|
||||
typedef typename ZCStringBase::ZCCharView ZCCharView ;
|
||||
typedef typename ZCStringBase::TypeLength TypeLength ;
|
||||
typedef typename ZCStringBase::TypeLength TypeSize ;
|
||||
protected:
|
||||
typedef ZtCStringEx ZCStringEx ;
|
||||
protected:
|
||||
@ -7238,6 +7222,13 @@ namespace ZNsMain
|
||||
}/*
|
||||
ZtCStringEx(const TypeChar* APC_Data)*/
|
||||
|
||||
ZtCStringEx(const ZCCharView& AR_View) : TypeBase(AR_View)
|
||||
{
|
||||
ml_ListBuffAllByte=0;
|
||||
}/*
|
||||
ZtCStringEx(const ZCCharView& AR_View)*/
|
||||
|
||||
|
||||
ZCStringEx& operator=(const ZtCStringEx& rhs)
|
||||
{
|
||||
if(this==&rhs) return *this;
|
||||
@ -7480,7 +7471,7 @@ namespace ZNsMain
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////*/
|
||||
|
||||
if(AR_CStringBase.size()>0) AR_COStream<<AR_CStringBase.data(); return AR_COStream;
|
||||
if(AR_CStringBase.size()>0){AR_COStream<<AR_CStringBase.data();} return AR_COStream;
|
||||
}/*
|
||||
template
|
||||
<typename TTypCh, typename TAlloc, typename TAllocSize, typename TTypeString>
|
||||
@ -7628,7 +7619,7 @@ namespace ZNsMain
|
||||
typename TTypCh , typename TAlloc,
|
||||
typename TAllocSize, typename TTypeString
|
||||
>
|
||||
class ZtCMoveObj /*##################################################
|
||||
class ZtCMoveObj ####################################################
|
||||
<
|
||||
ZtCStringBase<TTypCh, TAlloc, TAllocSize, TTypeString> ,
|
||||
ZtCStringBase<TTypCh, TAlloc, TAllocSize, TTypeString>&, true
|
||||
|
@ -36,7 +36,7 @@ namespace ZNsMain
|
||||
typedef TypeSize size_type ; // for stl string/wstring
|
||||
public:
|
||||
};/*
|
||||
class ZtCCharType /*#####################################################*/
|
||||
class ZtCCharType #######################################################*/
|
||||
|
||||
|
||||
|
||||
@ -362,7 +362,7 @@ namespace ZNsMain
|
||||
|
||||
ZtCStringStd& operator()(ZtCStringStd& rhs)
|
||||
{
|
||||
if(this==&rhs) return *this; this->append(rhs); return *this;
|
||||
if(this==&rhs) {return *this;} this->append(rhs); return *this;
|
||||
}/*
|
||||
ZtCStringStd& operator()(ZtCStringStd& rhs)*/
|
||||
|
||||
@ -472,21 +472,13 @@ namespace ZNsMain
|
||||
ZtCStringStd& operator()(ZTypLLong ALL_LLongParam)
|
||||
{
|
||||
const int CI_BuffSize= 41; TypeChar VCA_BuffParam[CI_BuffSize] ;
|
||||
#ifdef _WIN
|
||||
|
||||
int VI_ResultSize = /*::::::::::::::::::::::::::::::::::::::::*/
|
||||
(
|
||||
sizeof(TypeChar)<=1
|
||||
? ::sprintf ((char* )VCA_BuffParam, /*++++++++*/ "%I64d", ALL_LLongParam)
|
||||
: ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%I64d", ALL_LLongParam)
|
||||
);
|
||||
#else
|
||||
int VI_ResultSize =
|
||||
(
|
||||
sizeof(TypeChar)<=1
|
||||
? ::sprintf ((char* )VCA_BuffParam, /*++++++++*/ "%lld" , ALL_LLongParam)
|
||||
: ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%lld" , ALL_LLongParam)
|
||||
);
|
||||
#endif
|
||||
return (*this)(VCA_BuffParam, VI_ResultSize); /*::::::::::::::*/
|
||||
}/*
|
||||
ZtCStringStd& operator()(ZTypLLong ALL_LLongParam)*/
|
||||
@ -494,21 +486,13 @@ namespace ZNsMain
|
||||
ZtCStringStd& operator()(ZTypULLong AULL_LLongParam)
|
||||
{
|
||||
const int CI_BuffSize= 41; TypeChar VCA_BuffParam[CI_BuffSize] ;
|
||||
#ifdef _WIN
|
||||
int VI_ResultSize = /*::::::::::::::::::::::::::::::::::::::::*/
|
||||
(
|
||||
sizeof(TypeChar)<=1
|
||||
? ::sprintf ((char* )VCA_BuffParam, /*+++++++*/ "%I64u", AULL_LLongParam)
|
||||
: ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%I64u", AULL_LLongParam)
|
||||
);
|
||||
#else
|
||||
|
||||
int VI_ResultSize = /*::::::::::::::::::::::::::::::::::::::::*/
|
||||
(
|
||||
sizeof(TypeChar)<=1
|
||||
? ::sprintf ((char* )VCA_BuffParam, /*++++++++*/ "%llu" , AULL_LLongParam)
|
||||
: ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%llu" , AULL_LLongParam)
|
||||
);
|
||||
#endif
|
||||
return (*this)(VCA_BuffParam, VI_ResultSize); /*::::::::::::::*/
|
||||
}/*
|
||||
ZtCStringStd& operator()(ZTypULLong AULL_LLongParam)*/
|
||||
@ -538,9 +522,10 @@ namespace ZNsMain
|
||||
|
||||
public:
|
||||
};/*
|
||||
template
|
||||
template //////////////////////////////////////////////////////////
|
||||
< typename TTypString = std::string >
|
||||
class ZtCStringStd : public TTypString */
|
||||
class ZtCStringStd
|
||||
#################################################################*/
|
||||
|
||||
|
||||
typedef ZtCStringStd<std::string > ZCStringStd ;
|
||||
|
@ -264,7 +264,7 @@ namespace ZNsMain
|
||||
}/*
|
||||
template<typename TViewClass> ZNsMain::ZNsEnum::ZERun IterPreOrder
|
||||
(TViewClass& AR_CViewClass, TypeSize AI_StartDepth=0, TypeSize AI_NodeIndex=0)
|
||||
/*##############################################################*/
|
||||
################################################################*/
|
||||
|
||||
template<typename TViewClass> ZNsMain::ZNsEnum::ZERun IterPostOrder
|
||||
( TViewClass& AR_CViewClass, TypeSize AI_StartDepth=0, TypeSize AI_NodeIndex=0 )
|
||||
@ -318,7 +318,7 @@ namespace ZNsMain
|
||||
}/*
|
||||
template<typename TViewClass> ZNsMain::ZNsEnum::ZERun IterPostOrder
|
||||
(TViewClass& AR_CViewClass, TypeSize AI_StartDepth=0, TypeSize AI_NodeIndex=0)
|
||||
/*###############################################################*/
|
||||
#################################################################*/
|
||||
|
||||
public:
|
||||
};/*
|
||||
@ -470,6 +470,7 @@ namespace ZNsMain
|
||||
■ class ZtCTreeData 예제 -- 2015-08-14 14:00
|
||||
|
||||
#include <iostream>
|
||||
#include "ZCppMain/ZtCStringEx.H"
|
||||
#include "ZCppMain/ZtCTreeData.H"
|
||||
|
||||
using namespace std ;
|
||||
@ -674,7 +675,7 @@ namespace ZNsMain
|
||||
TypeSize VL_DataCnt= mo_CDataList .size();
|
||||
TypeSize VL_NodeCnt=((ZCNodeList&)mo_CNodeList).size();
|
||||
|
||||
IterOfData VO_iter_Data( mo_CDataList.begin());
|
||||
IterOfData VO_iter_Data( mo_CDataList .begin());
|
||||
IterOfNode VO_iter_Node(((ZCNodeList&)mo_CNodeList).begin());
|
||||
|
||||
if(AR_CViewClass.OnDataStart(AI_StartDepth)==ZNsMain::ZNsEnum::ZERun_NO)
|
||||
|
@ -89,8 +89,8 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||
|
||||
■ Linux 컴파일
|
||||
|
||||
g++ -std=c++98 -o ZMainCGI_000_EnvSet.exe ZMainCGI_000_EnvSet.cpp -I../
|
||||
g++ -std=c++98 -o ZMainCGI_000_EnvSet_D.exe ZMainCGI_000_EnvSet.cpp -I../ -D_DEBUG
|
||||
g++ -std=c++98 -o ZMainCGI_000_EnvSet.exe ZMainCGI_000_EnvSet.cpp -I../ -Wall -Wno-unused-function -Wno-misleading-indentation
|
||||
g++ -std=c++98 -o ZMainCGI_000_EnvSet_D.exe ZMainCGI_000_EnvSet.cpp -I../ -Wall -Wno-unused-function -Wno-misleading-indentation -D_DEBUG
|
||||
|
||||
sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ gcc --version
|
||||
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
|
||||
|
@ -218,8 +218,8 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||
|
||||
■ Linux 컴파일
|
||||
|
||||
g++ -std=c++98 -o ZtCArray_000.exe ZtCArray_000.cpp -I../
|
||||
g++ -std=c++98 -o ZtCArray_000_D.exe ZtCArray_000.cpp -I../ -D_DEBUG
|
||||
g++ -std=c++98 -o ZtCArray_000.exe ZtCArray_000.cpp -I../ -Wall -Wno-unused-function -Wno-misleading-indentation
|
||||
g++ -std=c++98 -o ZtCArray_000_D.exe ZtCArray_000.cpp -I../ -Wall -Wno-unused-function -Wno-misleading-indentation -D_DEBUG
|
||||
|
||||
sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ gcc --version
|
||||
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
|
||||
|
@ -111,7 +111,12 @@ namespace ZNsMain
|
||||
>;
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
typedef typename ZCBaseList::ZCLink ZCLink;
|
||||
/*****************************************************************************/
|
||||
typedef typename ZCBaseList::ZCLink ZCLink ;
|
||||
/*****************************************************************************/
|
||||
typedef typename ZCBaseList::iterator iterator ;
|
||||
typedef typename ZCBaseList::const_iterator const_iterator;
|
||||
/*****************************************************************************/
|
||||
|
||||
public :
|
||||
|
||||
@ -216,8 +221,13 @@ namespace ZNsMain
|
||||
>;
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
typedef typename ZCBaseList::ZCLink ZCLink;
|
||||
|
||||
/*****************************************************************************/
|
||||
typedef typename ZCBaseList::ZCLink ZCLink ;
|
||||
/*****************************************************************************/
|
||||
typedef typename ZCBaseList::iterator iterator ;
|
||||
typedef typename ZCBaseList::const_iterator const_iterator;
|
||||
/*****************************************************************************/
|
||||
public :
|
||||
|
||||
_VT_ ZTypLong capacity() const
|
||||
@ -366,8 +376,59 @@ namespace ZNsMain
|
||||
static void ShowNode11_3(ZCLink11& AR_CLink, ZTypLong& ARRI_CallCnt)*/
|
||||
|
||||
|
||||
class ZCTypeView
|
||||
{
|
||||
public:
|
||||
|
||||
template<typename TTypChain> void OnMeetType()
|
||||
{
|
||||
cout<<TTypChain::ZETypeNo<<" : "<<typeid(typename TTypChain::TypeData).name()<<endl;
|
||||
}
|
||||
template<typename TTypChain, typename TTypHelp> void OnMeetType(int& AR_CallNo)
|
||||
{
|
||||
cout<<"* Call No="<<++AR_CallNo<<" : "<<TTypChain::ZETypeNo<<" : "<<typeid(typename TTypChain::TypeData).name()<<endl;
|
||||
}
|
||||
};/*
|
||||
class ZCTypeView*/
|
||||
|
||||
|
||||
static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)
|
||||
{
|
||||
typedef ZtCTypeChain
|
||||
<
|
||||
double , ZtCTypeChain<
|
||||
int , ZtCTypeChain<
|
||||
wchar_t, ZtCTypeChain<
|
||||
char ,
|
||||
|
||||
ZCEmpty > > >
|
||||
> ZCTypeChain; ZCTypeView VO_ZCTypeView;
|
||||
|
||||
int VI_CallNo = 0;
|
||||
|
||||
cout<<"*** tmpl chain size = "<<ZCTypeChain::Size()<<endl;
|
||||
|
||||
ZftIterTypeChainTail<ZCTypeChain, ZCTypeView&>(VO_ZCTypeView);
|
||||
|
||||
cout<<"************************************"<<endl;
|
||||
ZCTypeChain::ZtCIterChain<ZCTypeView>::IterHead(VO_ZCTypeView);
|
||||
cout<<"************************************"<<endl;
|
||||
ZCTypeChain::ZtCIterChain<ZCTypeView>::IterTail(VO_ZCTypeView);
|
||||
|
||||
ZftIterTypeChainHead<ZCTypeChain, ZCTypeView&, int&>
|
||||
( VO_ZCTypeView, (VI_CallNo = 0) );
|
||||
cout<<"************************************"<<endl;
|
||||
ZftIterTypeChainTail<ZCTypeChain, ZCTypeView&, int&>
|
||||
( VO_ZCTypeView, (VI_CallNo = 0) );
|
||||
|
||||
cout<<"************************************"<<endl;
|
||||
ZCTypeChain::ZtCIterChain<ZCTypeView>::
|
||||
IterHead(VO_ZCTypeView, ZftMCP(VI_CallNo=0));
|
||||
cout<<"************************************"<<endl;
|
||||
ZCTypeChain::ZtCIterChain<ZCTypeView>::
|
||||
IterTail(VO_ZCTypeView, ZftMCP(VI_CallNo=0));
|
||||
|
||||
|
||||
ZTypLong VI_CallCnt=0;
|
||||
|
||||
CStringBase VO_CStringBase;
|
||||
@ -548,6 +609,267 @@ namespace ZNsMain
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.SwapLinkNext(1th)"<<endl;
|
||||
VO_ZCBaseListEx10_2.SwapLinkNext(VO_ZCBaseListEx10_2.HeadRef());
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.SwapLinkNext(last)"<<endl;
|
||||
VO_ZCBaseListEx10_2.SwapLinkNext(VO_ZCBaseListEx10_2.TailRef());
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.SwapLinkNext(last-1)"<<endl;
|
||||
VO_ZCBaseListEx10_2.SwapLinkNext(VO_ZCBaseListEx10_2.TailRef(1));
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2 : Iter Rev"<<endl;
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLinkRev(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.SwapLinkPrev(2th)"<<endl;
|
||||
VO_ZCBaseListEx10_2.SwapLinkPrev(VO_ZCBaseListEx10_2.HeadRef(1));
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.SwapLinkPrev(last)"<<endl;
|
||||
VO_ZCBaseListEx10_2.SwapLinkPrev(VO_ZCBaseListEx10_2.TailRef());
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.SwapLink(1th, 4th)"<<endl;
|
||||
VO_ZCBaseListEx10_2.SwapLink
|
||||
( VO_ZCBaseListEx10_2.HeadRef(), VO_ZCBaseListEx10_2.HeadRef(3) );
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.SwapLink(2th, 1th)"<<endl;
|
||||
VO_ZCBaseListEx10_2.SwapLink
|
||||
( VO_ZCBaseListEx10_2.HeadRef(1), VO_ZCBaseListEx10_2.HeadRef() );
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.SwapLink(2th, 5th)"<<endl;
|
||||
VO_ZCBaseListEx10_2.SwapLink
|
||||
( VO_ZCBaseListEx10_2.HeadRef(1), VO_ZCBaseListEx10_2.HeadRef(4) );
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.SwapLink(4th, 5th)"<<endl;
|
||||
VO_ZCBaseListEx10_2.SwapLink
|
||||
( VO_ZCBaseListEx10_2.HeadRef(3), VO_ZCBaseListEx10_2.HeadRef(4) );
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.SwapLink(6th, 2th)"<<endl;
|
||||
VO_ZCBaseListEx10_2.SwapLink
|
||||
( VO_ZCBaseListEx10_2.HeadRef(5), VO_ZCBaseListEx10_2.HeadRef(1) );
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.SwapLink(6th, 5th)"<<endl;
|
||||
VO_ZCBaseListEx10_2.SwapLink
|
||||
( VO_ZCBaseListEx10_2.HeadRef(5), VO_ZCBaseListEx10_2.HeadRef(4) );
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.SwapLink(6th, 1th)"<<endl;
|
||||
VO_ZCBaseListEx10_2.SwapLink
|
||||
( VO_ZCBaseListEx10_2.HeadRef(5), VO_ZCBaseListEx10_2.HeadRef() );
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.MoveLinkHead(2th)"<<endl;
|
||||
VO_ZCBaseListEx10_2.MoveLinkHead( VO_ZCBaseListEx10_2.HeadRef(1));
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.MoveLinkTail(1th)"<<endl;
|
||||
VO_ZCBaseListEx10_2.MoveLinkTail( VO_ZCBaseListEx10_2.HeadRef());
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.MoveLinkAfter(1th, 6th)"<<endl;
|
||||
VO_ZCBaseListEx10_2.MoveLinkAfter
|
||||
( VO_ZCBaseListEx10_2.HeadRef(), VO_ZCBaseListEx10_2.HeadOpt(5));
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.MoveLinkBefore(5th, 1th)"<<endl;
|
||||
VO_ZCBaseListEx10_2.MoveLinkBefore
|
||||
( VO_ZCBaseListEx10_2.HeadRef(4), VO_ZCBaseListEx10_2.HeadOpt());
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.MoveLinkAfter(1th, 2th)"<<endl;
|
||||
VO_ZCBaseListEx10_2.MoveLinkAfter
|
||||
( VO_ZCBaseListEx10_2.HeadRef(), VO_ZCBaseListEx10_2.HeadOpt(1));
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.MoveRangeInAfter(1th~3th => 6th)"<<endl;
|
||||
VO_ZCBaseListEx10_2.MoveRangeInAfter
|
||||
(
|
||||
VO_ZCBaseListEx10_2.HeadRef( ),
|
||||
VO_ZCBaseListEx10_2.HeadRef(2),
|
||||
VO_ZCBaseListEx10_2.HeadOpt(5)
|
||||
);
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.MoveRangeInBefore(4th~6th => 1th)"<<endl;
|
||||
VO_ZCBaseListEx10_2.MoveRangeInBefore
|
||||
(
|
||||
VO_ZCBaseListEx10_2.HeadRef(3),
|
||||
VO_ZCBaseListEx10_2.HeadRef(5),
|
||||
VO_ZCBaseListEx10_2.HeadOpt( )
|
||||
);
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# VO_ZCBaseListEx10_2 for_it() show "<<endl;
|
||||
__for_it(ZCBaseListEx10, VO_ZCBaseListEx10_2, VO_Iter)
|
||||
{
|
||||
cout<<VO_Iter.GetPos()<<" : "<<*VO_Iter<<endl;
|
||||
}
|
||||
|
||||
cout<<endl<<"# VO_ZCBaseListEx10_2 for_it_r() show "<<endl;
|
||||
__for_it_r(ZCBaseListEx10, VO_ZCBaseListEx10_2, VO_Iter)
|
||||
{
|
||||
cout<<VO_Iter.GetPos()<<" : "<<*VO_Iter<<endl;
|
||||
}
|
||||
|
||||
cout<<endl<<"# VO_ZCBaseListEx10_2 for_itc() show "<<endl;
|
||||
__for_itc(ZCBaseListEx10, VO_ZCBaseListEx10_2, VO_Iter)
|
||||
{
|
||||
cout<<VO_Iter.GetPos()<<" : "<<*VO_Iter<<endl;
|
||||
}
|
||||
cout<<"*****************************************************"<<endl;
|
||||
|
||||
_FOR_ITER_EASY_START0_C (VO_ZCBaseListEx10_2, VH_NowIter, i)
|
||||
{
|
||||
cout<<"# list10_2 const: "<<(i+1)<<" "<<VO_ZCBaseListEx10_2.ItD(VH_NowIter)<<endl;
|
||||
}
|
||||
_FOR_ITER_EASY_CLOSE0_C (VO_ZCBaseListEx10_2, VH_NowIter, i)
|
||||
cout<<"*****************************************************"<<endl;
|
||||
|
||||
_FOR_ITER_EASY_START0_RC(VO_ZCBaseListEx10_2, VH_NowIter, i)
|
||||
{
|
||||
cout<<"# list10_2 rev const: "<<(i+1)<<" "<<VO_ZCBaseListEx10_2.ItD(VH_NowIter)<<endl;
|
||||
}
|
||||
_FOR_ITER_EASY_CLOSE0_RC(VO_ZCBaseListEx10_2, VH_NowIter, i)
|
||||
cout<<"*****************************************************"<<endl;
|
||||
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.MoveLinkIn(1th, 3th after)"<<endl;
|
||||
VO_ZCBaseListEx10_2.MoveLinkIn
|
||||
(
|
||||
VO_ZCBaseListEx10_2.HeadRef( ),
|
||||
VO_ZCBaseListEx10_2.HeadRef(2),
|
||||
true
|
||||
);
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.MoveLinkIn(3th, 6th after)"<<endl;
|
||||
VO_ZCBaseListEx10_2.MoveLinkIn
|
||||
(
|
||||
VO_ZCBaseListEx10_2.HeadRef(2),
|
||||
VO_ZCBaseListEx10_2.HeadRef(5),
|
||||
true
|
||||
);
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.MoveLinkIn(6th, 1th before)"<<endl;
|
||||
VO_ZCBaseListEx10_2.MoveLinkIn
|
||||
(
|
||||
VO_ZCBaseListEx10_2.HeadRef(5),
|
||||
VO_ZCBaseListEx10_2.HeadRef( ),
|
||||
false
|
||||
);
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.MoveLinkIn(1th, 6th after)"<<endl;
|
||||
VO_ZCBaseListEx10_2.MoveLinkIn
|
||||
(
|
||||
VO_ZCBaseListEx10_2.HeadRef( ),
|
||||
VO_ZCBaseListEx10_2.HeadRef(5),
|
||||
true
|
||||
);
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.MoveLinkIn(2th, 3th after)"<<endl;
|
||||
VO_ZCBaseListEx10_2.MoveLinkIn
|
||||
(
|
||||
VO_ZCBaseListEx10_2.HeadRef(1),
|
||||
VO_ZCBaseListEx10_2.HeadRef(2),
|
||||
true
|
||||
);
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.MoveLinkIn(2th, 3th before)"<<endl;
|
||||
VO_ZCBaseListEx10_2.MoveLinkIn
|
||||
(
|
||||
VO_ZCBaseListEx10_2.HeadRef(1),
|
||||
VO_ZCBaseListEx10_2.HeadRef(2),
|
||||
false
|
||||
);
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.MoveLinkIn(2th, 1th before)"<<endl;
|
||||
VO_ZCBaseListEx10_2.MoveLinkIn
|
||||
(
|
||||
VO_ZCBaseListEx10_2.HeadRef(1),
|
||||
VO_ZCBaseListEx10_2.HeadRef( ),
|
||||
false
|
||||
);
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.MoveRangeIn(1th, 3th, 6th after)"<<endl;
|
||||
VO_ZCBaseListEx10_2.MoveRangeIn
|
||||
(
|
||||
VO_ZCBaseListEx10_2.HeadRef( ),
|
||||
VO_ZCBaseListEx10_2.HeadRef(2),
|
||||
VO_ZCBaseListEx10_2.HeadRef(5),
|
||||
true
|
||||
);
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.MoveRangeIn(5th, 6th, 1th before)"<<endl;
|
||||
VO_ZCBaseListEx10_2.MoveRangeIn
|
||||
(
|
||||
VO_ZCBaseListEx10_2.HeadRef(4),
|
||||
VO_ZCBaseListEx10_2.HeadRef(5),
|
||||
VO_ZCBaseListEx10_2.HeadRef( ),
|
||||
false
|
||||
);
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
|
||||
|
||||
cout<<endl<<"# after VO_ZCBaseListEx10_2.MoveRangeIn(2th, 3th, 4th after)"<<endl;
|
||||
VO_ZCBaseListEx10_2.MoveRangeIn
|
||||
(
|
||||
VO_ZCBaseListEx10_2.HeadRef(1),
|
||||
VO_ZCBaseListEx10_2.HeadRef(2),
|
||||
VO_ZCBaseListEx10_2.HeadRef(3),
|
||||
true
|
||||
);
|
||||
cout<<"*****************************************************"<<endl;
|
||||
VO_ZCBaseListEx10_2.IterElemLink(&ShowNode10_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
|
||||
return 0;
|
||||
}/*
|
||||
static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)*/
|
||||
@ -582,8 +904,8 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||
|
||||
■ mingw 컴파일
|
||||
|
||||
g++.exe -o ZtCBaseList_000_mw.exe ZtCBaseList_000.cpp -I../ -lWs2_32
|
||||
g++.exe -o ZtCBaseList_000_mw_D.exe ZtCBaseList_000.cpp -I../ -lWs2_32 -D_DEBUG
|
||||
g++.exe -o ZtCBaseList_000_mw.exe ZtCBaseList_000.cpp -I../ -lWs2_32 -Wall -Wno-unused-function -Wno-misleading-indentation
|
||||
g++.exe -o ZtCBaseList_000_mw_D.exe ZtCBaseList_000.cpp -I../ -lWs2_32 -Wall -Wno-unused-function -Wno-misleading-indentation -D_DEBUG
|
||||
|
||||
./ZtCBaseList_000_mw.exe
|
||||
./ZtCBaseList_000_mw_D.exe
|
||||
@ -603,8 +925,8 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||
|
||||
■ Linux 컴파일
|
||||
|
||||
g++ -std=c++98 -o ZtCBaseList_000.exe ZtCBaseList_000.cpp -I../
|
||||
g++ -std=c++98 -o ZtCBaseList_000_D.exe ZtCBaseList_000.cpp -I../ -D_DEBUG
|
||||
g++ -std=c++98 -o ZtCBaseList_000.exe ZtCBaseList_000.cpp -I../ -Wall -Wno-unused-function -Wno-misleading-indentation
|
||||
g++ -std=c++98 -o ZtCBaseList_000_D.exe ZtCBaseList_000.cpp -I../ -Wall -Wno-unused-function -Wno-misleading-indentation -D_DEBUG
|
||||
|
||||
sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ gcc --version
|
||||
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
|
||||
|
@ -74,7 +74,11 @@ namespace ZNsMain
|
||||
cout<<"# VO_StrLinkOpt.GetObjOpt(1) : bool ()="<<bool(VO_StrLinkOpt) <<endl;
|
||||
|
||||
if(VO_StrLinkOpt.has_value())
|
||||
cout<<"# value by VO_StrLinkOpt : "<<VO_StrLinkOpt.value()<<endl;
|
||||
{
|
||||
cout<<"# value by VO_StrLinkOpt : "<<VO_StrLinkOpt.value()<<endl;
|
||||
cout<<"# value by VO_StrLinkOpt() : "<<VO_StrLinkOpt() <<endl;
|
||||
}/*
|
||||
if(VO_StrLinkOpt.has_value())*/
|
||||
|
||||
VO_StrLinkOpt = VO_ZCLinkStrLis1.GetTailOpt();
|
||||
|
||||
@ -208,8 +212,8 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||
|
||||
<EFBFBD><EFBFBD> Linux <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
g++ -std=c++98 -o ZtCLinkList_000.exe ZtCLinkList_000.cpp -I../
|
||||
g++ -std=c++98 -o ZtCLinkList_000_D.exe ZtCLinkList_000.cpp -I../ -D_DEBUG
|
||||
g++ -std=c++98 -o ZtCLinkList_000.exe ZtCLinkList_000.cpp -I../ -Wall -Wno-unused-function -Wno-misleading-indentation
|
||||
g++ -std=c++98 -o ZtCLinkList_000_D.exe ZtCLinkList_000.cpp -I../ -Wall -Wno-unused-function -Wno-misleading-indentation -D_DEBUG
|
||||
|
||||
sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ gcc --version
|
||||
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
|
||||
|
@ -1,4 +1,4 @@
|
||||
|
||||
|
||||
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
@ -71,12 +71,14 @@ namespace ZNsMain
|
||||
|
||||
typedef ZNsIFaceEx::ZtCLink
|
||||
<ZCEmpty, ZCLinkData> ZCLinkBase;
|
||||
typedef ZNsIFaceEx::ZtCLink
|
||||
<string , ZCEmpty > ZCLinkStr ;
|
||||
|
||||
public:
|
||||
typedef ZCLinkData ZCLinkCStr ;
|
||||
typedef ZtCLinkList<ZCLinkBase> ZCLinkStrList;
|
||||
typedef ZtCLinkList<ZCLinkBase> ZCLinkDataList;
|
||||
typedef ZtCLinkList<ZCLinkStr > ZCLinkStrList ;
|
||||
typedef typename
|
||||
ZCLinkStrList::ZCLinkOpt ZCStrLinkOpt ;
|
||||
ZCLinkDataList::ZCLinkOpt ZCStrLinkOpt ;
|
||||
public:
|
||||
|
||||
|
||||
@ -108,116 +110,221 @@ namespace ZNsMain
|
||||
|
||||
static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)
|
||||
{
|
||||
ZTypLong VI_CallCnt = 0 ;
|
||||
ZCLinkStrList VO_ZCLinkStrLis1;
|
||||
ZCLinkStrList VO_ZCLinkStrLis2;
|
||||
ZCStrLinkOpt VO_StrLinkOpt = VO_ZCLinkStrLis1.GetObjOpt(1);
|
||||
ZTypLong VI_CallCnt =0 ;
|
||||
ZCLinkDataList VO_CDataList1;
|
||||
ZCLinkDataList VO_CDataList2;
|
||||
ZCLinkStrList VO_CStrLis20 ;
|
||||
ZCStrLinkOpt VO_StrLinkOpt = VO_CDataList1.GetObjOpt(1);
|
||||
|
||||
cout<<"# VO_StrLinkOpt.has_value()="<<VO_StrLinkOpt.has_value()<<endl;
|
||||
cout<<"# VO_StrLinkOpt.bool() ="<<bool(VO_StrLinkOpt) <<endl;
|
||||
|
||||
VO_ZCLinkStrLis1.AddTail()().GetData()=string("123");
|
||||
VO_ZCLinkStrLis1.AddTail()().GetData()=string("ABC");
|
||||
VO_ZCLinkStrLis1.AddTail()().GetData()=string("xyz");
|
||||
VO_CDataList1.AddTail()().GetData()=string("123");
|
||||
VO_CDataList1.AddTail()().GetData()=string("ABC");
|
||||
VO_CDataList1.AddTail()().GetData()=string("xyz");
|
||||
|
||||
VO_ZCLinkStrLis2.AddTail()().GetData()=string("Z01");
|
||||
VO_ZCLinkStrLis2.AddTail()().GetData()=string("Z02");
|
||||
VO_ZCLinkStrLis2.AddTail()().GetData()=string("Z03");
|
||||
VO_CDataList2.AddTail()().GetData()=string("Z01");
|
||||
VO_CDataList2.AddTail()().GetData()=string("Z02");
|
||||
VO_CDataList2.AddTail()().GetData()=string("Z03");
|
||||
|
||||
VO_StrLinkOpt = VO_ZCLinkStrLis1.GetObjOpt(1);
|
||||
VO_CStrLis20.AddTail()()=string("__1");
|
||||
VO_CStrLis20.AddTail()()=string("__2");
|
||||
VO_CStrLis20.AddTail()()=string("__3");
|
||||
|
||||
VO_StrLinkOpt = VO_CDataList1.GetObjOpt(1);
|
||||
|
||||
cout<<"# VO_StrLinkOpt.GetObjOpt(1) : has_value()="<<VO_StrLinkOpt.has_value()<<endl;
|
||||
cout<<"# VO_StrLinkOpt.GetObjOpt(1) : bool ()="<<bool(VO_StrLinkOpt) <<endl;
|
||||
|
||||
if(VO_StrLinkOpt.has_value())
|
||||
cout<<"# value by VO_StrLinkOpt : "<<VO_StrLinkOpt.value()().GetData()<<endl;
|
||||
{
|
||||
cout<<"# value by VO_StrLinkOpt : "<<VO_StrLinkOpt.value()().GetData()<<endl;
|
||||
cout<<"# value by VO_StrLinkOpt() : "<<VO_StrLinkOpt() ().GetData()<<endl;
|
||||
}/*
|
||||
if(VO_StrLinkOpt.has_value())*/
|
||||
|
||||
VO_StrLinkOpt = VO_ZCLinkStrLis1.GetTailOpt();
|
||||
VO_StrLinkOpt = VO_CDataList1.GetTailOpt();
|
||||
|
||||
cout<<"# VO_StrLinkOpt.GetTailOpt() : has_value()="<<VO_StrLinkOpt.has_value()<<endl;
|
||||
cout<<"# VO_StrLinkOpt.GetTailOpt() : bool ()="<<bool(VO_StrLinkOpt) <<endl;
|
||||
|
||||
if(VO_StrLinkOpt.has_value())
|
||||
cout<<"# value by VO_StrLinkOpt : "<<VO_StrLinkOpt.value()().GetData()<<endl;
|
||||
{
|
||||
cout<<"# value by VO_StrLinkOpt : "<<VO_StrLinkOpt.value()().GetData()<<endl;
|
||||
cout<<"# value by VO_StrLinkOpt() : "<<VO_StrLinkOpt() ().GetData()<<endl;
|
||||
}/*
|
||||
if(VO_StrLinkOpt.has_value())*/
|
||||
|
||||
|
||||
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
|
||||
VO_ZCLinkStrLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
VO_CDataList1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
cout<<"***********************************************"<<endl;
|
||||
VO_ZCLinkStrLis1.IterElement(&ShowNode1, ZftMCP(VI_CallCnt=0));
|
||||
VO_CDataList1.IterElement(&ShowNode1, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
|
||||
VO_ZCLinkStrLis1.JoinHead(VO_ZCLinkStrLis2);
|
||||
VO_CDataList1.JoinHead(VO_CDataList2);
|
||||
|
||||
cout<<"# after VO_ZCLinkStrLis1.JoinHead(VO_ZCLinkStrLis2)"<<endl;
|
||||
cout<<"# after VO_CDataList1.JoinHead(VO_CDataList2)"<<endl;
|
||||
|
||||
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
|
||||
VO_ZCLinkStrLis2.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
VO_CDataList2.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
cout<<"***********************************************"<<endl;
|
||||
VO_ZCLinkStrLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
VO_CDataList1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
cout<<"***********************************************"<<endl;
|
||||
VO_ZCLinkStrLis1.IterElement(&ShowNode1, ZftMCP(VI_CallCnt=0));
|
||||
VO_CDataList1.IterElement(&ShowNode1, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
|
||||
VO_ZCLinkStrLis2 = VO_ZCLinkStrLis1 ;
|
||||
VO_CDataList2 = VO_CDataList1 ;
|
||||
|
||||
cout<<"# after VO_ZCLinkStrLis2 = VO_ZCLinkStrLis1"<<endl;
|
||||
cout<<"# after VO_CDataList2 = VO_CDataList1"<<endl;
|
||||
|
||||
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
|
||||
VO_ZCLinkStrLis2.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
VO_CDataList2.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
cout<<"***********************************************"<<endl;
|
||||
VO_ZCLinkStrLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
VO_CDataList1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
cout<<"***********************************************"<<endl;
|
||||
|
||||
|
||||
VO_ZCLinkStrLis1.IterElement(&AppendEach);
|
||||
VO_CDataList1.IterElement(&AppendEach);
|
||||
cout<<"***********************************************"<<endl;
|
||||
VO_ZCLinkStrLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
VO_CDataList1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
cout<<"***********************************************"<<endl;
|
||||
|
||||
VO_ZCLinkStrLis1.SendRangeOutAfter
|
||||
VO_CDataList1.SendRangeOutAfter
|
||||
(
|
||||
VO_ZCLinkStrLis1.GetObjOpt(1).value()
|
||||
, VO_ZCLinkStrLis1.GetObjOpt(2).value()
|
||||
VO_CDataList1.GetObjOpt(1).value()
|
||||
, VO_CDataList1.GetObjOpt(2).value()
|
||||
, 2
|
||||
, VO_ZCLinkStrLis2
|
||||
, VO_ZCLinkStrLis2.GetObjOpt(1)
|
||||
, VO_CDataList2
|
||||
, VO_CDataList2.GetObjOpt(1)
|
||||
) ;
|
||||
cout<<"# after VO_ZCLinkStrLis1.SendRangeOutAfter(1th, 2th, 2, rhs, rhs's 1th)"<<endl;
|
||||
cout<<"# after VO_CDataList1.SendRangeOutAfter(1th, 2th, 2, rhs, rhs's 1th)"<<endl;
|
||||
|
||||
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
|
||||
VO_ZCLinkStrLis2.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
VO_CDataList2.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
cout<<"***********************************************"<<endl;
|
||||
VO_ZCLinkStrLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
VO_CDataList1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
cout<<"***********************************************"<<endl;
|
||||
|
||||
|
||||
VO_ZCLinkStrLis2.SendRangeOutBefore
|
||||
VO_CDataList2.SendRangeOutBefore
|
||||
(
|
||||
VO_ZCLinkStrLis2.GetObjOpt(7).value()
|
||||
, VO_ZCLinkStrLis2.GetObjOpt(8).value()
|
||||
VO_CDataList2.GetObjOpt(7).value()
|
||||
, VO_CDataList2.GetObjOpt(8).value()
|
||||
, 2
|
||||
, VO_ZCLinkStrLis1
|
||||
, VO_ZCLinkStrLis1.GetObjOpt(1)
|
||||
, VO_CDataList1
|
||||
, VO_CDataList1.GetObjOpt(1)
|
||||
) ;
|
||||
cout<<"# after VO_ZCLinkStrLis2.SendRangeOutAfter(7th, 8th, 2, rhs, rhs's 1th)"<<endl;
|
||||
cout<<"# after VO_CDataList2.SendRangeOutAfter(7th, 8th, 2, rhs, rhs's 1th)"<<endl;
|
||||
|
||||
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
|
||||
VO_ZCLinkStrLis2.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
VO_CDataList2.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
cout<<"***********************************************"<<endl;
|
||||
VO_ZCLinkStrLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
VO_CDataList1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
cout<<"***********************************************"<<endl;
|
||||
|
||||
|
||||
VO_ZCLinkStrLis2.CopyThis( RR(VO_ZCLinkStrLis1) );
|
||||
cout<<"# after VO_ZCLinkStrLis2.CopyThis( RR(VO_ZCLinkStrLis1) )"<<endl;
|
||||
VO_CDataList2.CopyThis( RR(VO_CDataList1) );
|
||||
cout<<"# after VO_CDataList2.CopyThis( RR(VO_CDataList1) )"<<endl;
|
||||
|
||||
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
|
||||
VO_ZCLinkStrLis2.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
VO_CDataList2.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
cout<<"***********************************************"<<endl;
|
||||
VO_ZCLinkStrLis1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
VO_CDataList1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
cout<<"***********************************************"<<endl;
|
||||
|
||||
VO_CDataList1.SwapLink
|
||||
(VO_CDataList1.HeadRef(), VO_CDataList1.HeadRef(1));
|
||||
cout<<"# after VO_CDataList1.SwapLink(1th, 2th)"<<endl;
|
||||
VO_CDataList1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
cout<<"***********************************************"<<endl;
|
||||
|
||||
VO_CDataList1.SwapLink
|
||||
(VO_CDataList1.HeadRef(), VO_CDataList1.HeadRef(11));
|
||||
cout<<"# after VO_CDataList1.SwapLink(1th, 12th)"<<endl;
|
||||
VO_CDataList1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
cout<<"***********************************************"<<endl;
|
||||
|
||||
VO_CDataList1.SwapLink
|
||||
(VO_CDataList1.HeadRef(11), VO_CDataList1.HeadRef(10));
|
||||
cout<<"# after VO_CDataList1.SwapLink(12th, 11th)"<<endl;
|
||||
VO_CDataList1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
cout<<"***********************************************"<<endl;
|
||||
|
||||
VO_CDataList1.MoveLinkTail
|
||||
(VO_CDataList1.HeadRef());
|
||||
cout<<"# after VO_CDataList1.MoveLinkTail(1th)"<<endl;
|
||||
VO_CDataList1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
cout<<"***********************************************"<<endl;
|
||||
|
||||
|
||||
_FOR_ITER_EASY_START0_C (VO_CDataList1, VH_NowIter, i)
|
||||
{
|
||||
cout<<"# list1 const: "<<(i+1)<<" "<<VO_CDataList1.ItD(VH_NowIter).GetData()<<endl;
|
||||
}
|
||||
_FOR_ITER_EASY_CLOSE0_C (VO_CDataList1, VH_NowIter, i)
|
||||
cout<<"***********************************************"<<endl;
|
||||
|
||||
_FOR_ITER_EASY_START0_RC(VO_CDataList1, VH_NowIter, i)
|
||||
{
|
||||
cout<<"# list1 rev const: "<<(i+1)<<" "<<VO_CDataList1.ItD(VH_NowIter).GetData()<<endl;
|
||||
}
|
||||
_FOR_ITER_EASY_CLOSE0_RC(VO_CDataList1, VH_NowIter, i)
|
||||
cout<<"***********************************************"<<endl;
|
||||
|
||||
|
||||
__for_it(ZCLinkDataList, VO_CDataList1, VH_NowIter)
|
||||
{
|
||||
cout<<"# list1 __for_it : "<<VH_NowIter.GetPos()<<" "<<(*VH_NowIter).GetData()<<endl;
|
||||
}
|
||||
cout<<"***********************************************"<<endl;
|
||||
__for_it(ZCLinkStrList , VO_CStrLis20, VH_NowIter)
|
||||
{
|
||||
cout<<"# list20 __for_it : "<<VH_NowIter.GetPos()<<" "<<(*VH_NowIter)<<endl;
|
||||
}
|
||||
|
||||
_FOR_ITER_EASY_START0_C(VO_CStrLis20, VH_NowIter, i)
|
||||
{
|
||||
cout<<"# list20 const: "<<(i+1)<<" "<<VO_CStrLis20.ItD(VH_NowIter)<<endl;
|
||||
}
|
||||
_FOR_ITER_EASY_CLOSE0_C(VO_CStrLis20, VH_NowIter, i)
|
||||
cout<<"***********************************************"<<endl;
|
||||
|
||||
|
||||
VO_CDataList1.MoveRangeIn
|
||||
(
|
||||
VO_CDataList1.HeadRef( ),
|
||||
VO_CDataList1.HeadRef(1 ),
|
||||
VO_CDataList1.HeadRef(11),
|
||||
true
|
||||
);
|
||||
cout<<"# after VO_CDataList1.MoveRangeIn(1th, 2th, 12th, after)"<<endl;
|
||||
VO_CDataList1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
cout<<"***********************************************"<<endl;
|
||||
|
||||
|
||||
VO_CDataList1.MoveRangeIn
|
||||
(
|
||||
VO_CDataList1.HeadRef(1 ),
|
||||
VO_CDataList1.HeadRef(11),
|
||||
VO_CDataList1.HeadRef( ),
|
||||
false
|
||||
);
|
||||
cout<<"# after VO_CDataList1.MoveRangeIn(2th, 12th, 1th, before)"<<endl;
|
||||
VO_CDataList1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
cout<<"***********************************************"<<endl;
|
||||
|
||||
|
||||
VO_CDataList1.MoveRangeIn
|
||||
(
|
||||
VO_CDataList1.HeadRef( ),
|
||||
VO_CDataList1.HeadRef(1),
|
||||
VO_CDataList1.HeadRef(2),
|
||||
false
|
||||
);
|
||||
cout<<"# after VO_CDataList1.MoveRangeIn(1th, 2th, 3th, before)"<<endl;
|
||||
VO_CDataList1.IterElement(&ShowNode0, ZftMCP(VI_CallCnt=0));
|
||||
cout<<"***********************************************"<<endl;
|
||||
|
||||
return 0;
|
||||
}/*
|
||||
@ -252,15 +359,15 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||
|
||||
/*////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
<EFBFBD><EFBFBD> cygwin <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
■ cygwin 컴파일
|
||||
|
||||
// g++ -mno-cygwin -o ZtCLinkList_001.exe ZtCLinkList_001.cpp -I../../my_CPP/CPP_Main/ -I../../my_CPP/CPP_Std/ -D__CYGWIN32__ -D__VISUAL_CPP_VER__=200300
|
||||
// g++ -mno-cygwin -o ZtCLinkList_001_D.exe ZtCLinkList_001.cpp -I../../my_CPP/CPP_Main/ -I../../my_CPP/CPP_Std/ -D__CYGWIN32__ -D__VISUAL_CPP_VER__=200300 -D_DEBUG
|
||||
|
||||
<EFBFBD><EFBFBD> mingw <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
■ mingw 컴파일
|
||||
|
||||
g++.exe -o ZtCLinkList_001_mw.exe ZtCLinkList_001.cpp -I../ -lWs2_32
|
||||
g++.exe -o ZtCLinkList_001_mw_D.exe ZtCLinkList_001.cpp -I../ -lWs2_32 -D_DEBUG
|
||||
g++.exe -o ZtCLinkList_001_mw.exe ZtCLinkList_001.cpp -I../ -lWs2_32 -Wall -Wno-unused-function -Wno-misleading-indentation
|
||||
g++.exe -o ZtCLinkList_001_mw_D.exe ZtCLinkList_001.cpp -I../ -lWs2_32 -Wall -Wno-unused-function -Wno-misleading-indentation -D_DEBUG
|
||||
|
||||
./ZtCLinkList_001_mw.exe
|
||||
./ZtCLinkList_001_mw_D.exe
|
||||
@ -278,10 +385,10 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
<EFBFBD><EFBFBD> Linux <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
■ Linux 컴파일
|
||||
|
||||
g++ -std=c++98 -o ZtCLinkList_001.exe ZtCLinkList_001.cpp -I../
|
||||
g++ -std=c++98 -o ZtCLinkList_001_D.exe ZtCLinkList_001.cpp -I../ -D_DEBUG
|
||||
g++ -std=c++98 -o ZtCLinkList_001.exe ZtCLinkList_001.cpp -I../ -Wall -Wno-unused-function -Wno-misleading-indentation
|
||||
g++ -std=c++98 -o ZtCLinkList_001_D.exe ZtCLinkList_001.cpp -I../ -Wall -Wno-unused-function -Wno-misleading-indentation -D_DEBUG
|
||||
|
||||
sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ gcc --version
|
||||
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
|
||||
@ -316,7 +423,7 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
■ 실행
|
||||
|
||||
./ZtCLinkList_001.exe
|
||||
./ZtCLinkList_001_D.exe
|
||||
|
@ -72,7 +72,11 @@ namespace ZNsMain
|
||||
cout<<"# VO_StrLinkOpt.GetObjOpt(1) : bool ()="<<bool(VO_StrLinkOpt) <<endl;
|
||||
|
||||
if(VO_StrLinkOpt.has_value())
|
||||
cout<<"# value by VO_StrLinkOpt : "<<VO_StrLinkOpt.value()<<endl;
|
||||
{
|
||||
cout<<"# value by VO_StrLinkOpt : "<<VO_StrLinkOpt.value()<<endl;
|
||||
cout<<"# value by VO_StrLinkOpt() : "<<VO_StrLinkOpt() <<endl;
|
||||
cout<<"# value by VO_StrLinkOpt()(): "<<VO_StrLinkOpt() <<endl;
|
||||
}
|
||||
|
||||
VO_StrLinkOpt = VO_ZCLinkStrLis1.GetTailOpt();
|
||||
|
||||
@ -80,7 +84,11 @@ namespace ZNsMain
|
||||
cout<<"# VO_StrLinkOpt.GetTailOpt() : bool ()="<<bool(VO_StrLinkOpt) <<endl;
|
||||
|
||||
if(VO_StrLinkOpt.has_value())
|
||||
cout<<"# value by VO_StrLinkOpt : "<<VO_StrLinkOpt.value()<<endl;
|
||||
{
|
||||
cout<<"# value by VO_StrLinkOpt : "<<VO_StrLinkOpt.value()<<endl;
|
||||
cout<<"# value by VO_StrLinkOpt() : "<<VO_StrLinkOpt() <<endl;
|
||||
cout<<"# value by VO_StrLinkOpt()(): "<<VO_StrLinkOpt()() <<endl;
|
||||
}
|
||||
|
||||
|
||||
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
|
||||
@ -216,8 +224,8 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||
|
||||
<EFBFBD><EFBFBD> Linux <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
g++ -std=c++98 -o ZtCLinkMoveList_000.exe ZtCLinkMoveList_000.cpp -I../
|
||||
g++ -std=c++98 -o ZtCLinkMoveList_000_D.exe ZtCLinkMoveList_000.cpp -I../ -D_DEBUG
|
||||
g++ -std=c++98 -o ZtCLinkMoveList_000.exe ZtCLinkMoveList_000.cpp -I../ -Wall -Wno-unused-function -Wno-misleading-indentation
|
||||
g++ -std=c++98 -o ZtCLinkMoveList_000_D.exe ZtCLinkMoveList_000.cpp -I../ -Wall -Wno-unused-function -Wno-misleading-indentation -D_DEBUG
|
||||
|
||||
sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ gcc --version
|
||||
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
|
||||
|
140
ZCppMainTest/ZtCLink_001.cpp
Normal file
140
ZCppMainTest/ZtCLink_001.cpp
Normal file
@ -0,0 +1,140 @@
|
||||
|
||||
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
#include "ZCppMain/ZtCLinkList.H"
|
||||
|
||||
|
||||
using namespace std;
|
||||
|
||||
|
||||
namespace ZNsMain
|
||||
{
|
||||
|
||||
namespace ZNsExam
|
||||
{
|
||||
|
||||
class ZCLinkEx :
|
||||
public ZtCLink<ZCEmpty, ZCLinkEx>
|
||||
{
|
||||
};
|
||||
|
||||
|
||||
static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)
|
||||
{
|
||||
typedef ZtCLink<ZCEmpty, ZCEmpty> ZCLink1;
|
||||
typedef ZtCLink<string , ZCEmpty> ZCLink2;
|
||||
typedef ZtCLink<ZCEmpty, string > ZCLink3;
|
||||
typedef ZtCLink<string , string > ZCLink4;
|
||||
typedef ZCLinkEx ZCLink5;
|
||||
|
||||
cout<<"# ZCLink1::TypeThis -> "<<typeid(ZCLink1::TypeThis ).name()<<endl;
|
||||
cout<<"# ZCLink1::TypeBase -> "<<typeid(ZCLink1::TypeBase ).name()<<endl;
|
||||
cout<<"# ZCLink1::TypeChild-> "<<typeid(ZCLink1::TypeChild).name()<<endl;
|
||||
cout<<"**********************************************************"<<endl;
|
||||
cout<<"# ZCLink2::TypeThis -> "<<typeid(ZCLink2::TypeThis ).name()<<endl;
|
||||
cout<<"# ZCLink2::TypeBase -> "<<typeid(ZCLink2::TypeBase ).name()<<endl;
|
||||
cout<<"# ZCLink2::TypeChild-> "<<typeid(ZCLink2::TypeChild).name()<<endl;
|
||||
cout<<"**********************************************************"<<endl;
|
||||
cout<<"# ZCLink3::TypeThis -> "<<typeid(ZCLink3::TypeThis ).name()<<endl;
|
||||
cout<<"# ZCLink3::TypeBase -> "<<typeid(ZCLink3::TypeBase ).name()<<endl;
|
||||
cout<<"# ZCLink3::TypeChild-> "<<typeid(ZCLink3::TypeChild).name()<<endl;
|
||||
cout<<"**********************************************************"<<endl;
|
||||
cout<<"# ZCLink4::TypeThis -> "<<typeid(ZCLink4::TypeThis ).name()<<endl;
|
||||
cout<<"# ZCLink4::TypeBase -> "<<typeid(ZCLink4::TypeBase ).name()<<endl;
|
||||
cout<<"# ZCLink4::TypeChild-> "<<typeid(ZCLink4::TypeChild).name()<<endl;
|
||||
cout<<"**********************************************************"<<endl;
|
||||
cout<<"# ZCLink5::TypeThis -> "<<typeid(ZCLink5::TypeThis ).name()<<endl;
|
||||
cout<<"# ZCLink5::TypeBase -> "<<typeid(ZCLink5::TypeBase ).name()<<endl;
|
||||
cout<<"# ZCLink5::TypeChild-> "<<typeid(ZCLink5::TypeChild).name()<<endl;
|
||||
|
||||
return 0;
|
||||
}/*
|
||||
static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)*/
|
||||
|
||||
}/*
|
||||
namespace ZNsExam*/
|
||||
|
||||
}/*
|
||||
namespace ZNsMain*/
|
||||
|
||||
|
||||
int main(int AI_ArgCnt, char* APP_ArgVal[])
|
||||
{
|
||||
return ZNsMain::ZNsExam::Main(AI_ArgCnt, APP_ArgVal);
|
||||
}/*
|
||||
int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||
|
||||
|
||||
/*////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
■ cygwin 컴파일
|
||||
|
||||
// g++ -mno-cygwin -o ZtCLink_001.exe ZtCLink_001.cpp -I../../my_CPP/CPP_Main/ -I../../my_CPP/CPP_Std/ -D__CYGWIN32__ -D__VISUAL_CPP_VER__=200300
|
||||
// g++ -mno-cygwin -o ZtCLink_001_D.exe ZtCLink_001.cpp -I../../my_CPP/CPP_Main/ -I../../my_CPP/CPP_Std/ -D__CYGWIN32__ -D__VISUAL_CPP_VER__=200300 -D_DEBUG
|
||||
|
||||
■ mingw 컴파일
|
||||
|
||||
g++.exe -o ZtCLink_001_mw.exe ZtCLink_001.cpp -I../
|
||||
g++.exe -o ZtCLink_001_mw_D.exe ZtCLink_001.cpp -I../ -D_DEBUG
|
||||
|
||||
./ZtCLink_001_mw.exe
|
||||
./ZtCLink_001_mw_D.exe
|
||||
|
||||
|
||||
Administrator@q381-2673 UCRT64 /e/my_CPP/ZCpp/ZCppMainTest
|
||||
# date
|
||||
Sun Aug 24 10:47:09 KST 2025
|
||||
|
||||
Administrator@q381-2673 UCRT64 /e/my_CPP/ZCpp/ZCppMainTest
|
||||
# g++ --version
|
||||
g++.exe (Rev2, Built by MSYS2 project) 13.2.0
|
||||
Copyright (C) 2023 Free Software Foundation, Inc.
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
■ Linux 컴파일
|
||||
|
||||
g++ -std=c++98 -o ZtCLink_001.exe ZtCLink_001.cpp -I../
|
||||
g++ -std=c++98 -o ZtCLink_001_D.exe ZtCLink_001.cpp -I../ -D_DEBUG
|
||||
|
||||
sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ gcc --version
|
||||
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
|
||||
Copyright (C) 2019 Free Software Foundation, Inc.
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ date
|
||||
Sun Aug 24 00:05:51 DST 2025
|
||||
|
||||
sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ cat /etc/os-release
|
||||
NAME="Ubuntu"
|
||||
VERSION="20.04.6 LTS (Focal Fossa)"
|
||||
ID=ubuntu
|
||||
ID_LIKE=debian
|
||||
PRETTY_NAME="Ubuntu 20.04.6 LTS"
|
||||
VERSION_ID="20.04"
|
||||
HOME_URL="https://www.ubuntu.com/"
|
||||
SUPPORT_URL="https://help.ubuntu.com/"
|
||||
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
|
||||
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
|
||||
VERSION_CODENAME=focal
|
||||
UBUNTU_CODENAME=focal
|
||||
|
||||
|
||||
[sauron@q381-2657 ZCppMainTest]$ cat /etc/centos-release
|
||||
CentOS Linux release 7.9.2009 (Core)
|
||||
|
||||
[sauron@q381-2657 ZCppMainTest]$ g++ --version
|
||||
g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
|
||||
Copyright (C) 2015 Free Software Foundation, Inc.
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
■ 실행
|
||||
|
||||
./ZtCLink_001.exe
|
||||
./ZtCLink_001_D.exe
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////*/
|
@ -117,8 +117,8 @@ namespace ZNsMain
|
||||
CStringList1 VO_ListOfStr10 ;
|
||||
CStringList2 VO_ListOfStr20 ;
|
||||
|
||||
ZCDataOpt1 VO_ZCDataOpt1 = VO_ListOfStr10.GetHeadDataOpt() ;
|
||||
ZCLinkOpt1 VO_ZCLinkOpt1 = VO_ListOfStr10.GetTailLinkOpt() ;
|
||||
ZCDataOpt1 VO_ZCDataOpt1 = VO_ListOfStr10.HeadOptD() ;
|
||||
ZCLinkOpt1 VO_ZCLinkOpt1 = VO_ListOfStr10.TailOpt() ;
|
||||
|
||||
if(bool(VO_ZCDataOpt1))
|
||||
cout<<"# VO_ListOfStr10's head data : " <<*VO_ZCDataOpt1<<endl;
|
||||
@ -136,8 +136,8 @@ namespace ZNsMain
|
||||
cout<<"# VO_CStringBase data : " <<VO_CStringBase<<endl;
|
||||
|
||||
|
||||
VO_ZCDataOpt1 = VO_ListOfStr10.GetHeadDataOpt() ;
|
||||
VO_ZCLinkOpt1 = VO_ListOfStr10.GetTailLinkOpt() ;
|
||||
VO_ZCDataOpt1 = VO_ListOfStr10.HeadOptD() ;
|
||||
VO_ZCLinkOpt1 = VO_ListOfStr10.TailOpt() ;
|
||||
|
||||
if(bool(VO_ZCDataOpt1))
|
||||
cout<<"# VO_ListOfStr10's head data : " <<*VO_ZCDataOpt1<<endl;
|
||||
@ -357,6 +357,79 @@ namespace ZNsMain
|
||||
VO_ListOfStr11.IterElemLink(&ShowNode1_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
|
||||
VO_ListOfStr11.Rotate();
|
||||
cout<<"# list11 Rotate() ################"<<endl;
|
||||
VO_ListOfStr11.IterElemLink(&ShowNode1_3, ZftMCP(VI_CallCnt=0));
|
||||
cout<<"*****************************************************"<<endl;
|
||||
|
||||
cout<<"# list11 IterElemLinkRev() ################"<<endl;
|
||||
VO_ListOfStr11.IterElemLinkRev(&ShowNode1_3, ZftMCP(VI_CallCnt=0));
|
||||
cout<<"*****************************************************"<<endl;
|
||||
|
||||
|
||||
VO_ListOfStr11.MoveLinkIn
|
||||
(
|
||||
*VO_ListOfStr11.GetLinkPtr(1)
|
||||
, *VO_ListOfStr11.GetLinkPtr(7)
|
||||
, true
|
||||
);
|
||||
cout<<"# list11 MoveLinkIn(1th, 7th, after)"<<endl;
|
||||
cout<<"# list11 IterElemLink ################"<<endl;
|
||||
VO_ListOfStr11.IterElemLink(&ShowNode1_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
|
||||
VO_ListOfStr11.MoveLinkIn
|
||||
(
|
||||
*VO_ListOfStr11.GetLinkPtr(5)
|
||||
, *VO_ListOfStr11.GetLinkPtr(1)
|
||||
, false
|
||||
);
|
||||
cout<<"# list11 MoveLinkIn(5th, 1th, before)"<<endl;
|
||||
cout<<"# list11 IterElemLink ################"<<endl;
|
||||
VO_ListOfStr11.IterElemLink(&ShowNode1_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
|
||||
VO_ListOfStr11.MoveLinkIn
|
||||
(
|
||||
*VO_ListOfStr11.GetLinkPtr(6)
|
||||
, *VO_ListOfStr11.GetLinkPtr(7)
|
||||
, true
|
||||
);
|
||||
cout<<"# list11 MoveLinkIn(6th, 7th, after)"<<endl;
|
||||
cout<<"# list11 IterElemLink ################"<<endl;
|
||||
VO_ListOfStr11.IterElemLink(&ShowNode1_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
|
||||
VO_ListOfStr11.MoveRangeIn
|
||||
(
|
||||
*VO_ListOfStr11.GetLinkPtr(1)
|
||||
, *VO_ListOfStr11.GetLinkPtr(2)
|
||||
, *VO_ListOfStr11.GetLinkPtr(7)
|
||||
, true
|
||||
);
|
||||
cout<<"# list11 MoveRangeIn(1th, 2th, 7th, after)"<<endl;
|
||||
cout<<"# list11 IterElemLink ################"<<endl;
|
||||
VO_ListOfStr11.IterElemLink(&ShowNode1_3, ZftMCP(VI_CallCnt=0));
|
||||
|
||||
|
||||
typedef CStringList1::iterator iterator1 ;
|
||||
//typedef CStringList1::ZCLinkPointEx iteratorEx1;
|
||||
typedef CStringList1::ZCNodePointN iteratorN1 ;
|
||||
|
||||
iterator1 VO_Iter1 = VO_ListOfStr11.end();
|
||||
//iteratorEx1 VO_IterEx1 = VO_ListOfStr11.end();
|
||||
iteratorN1 VO_IterN1(VO_Iter1);
|
||||
|
||||
__for_itc (CStringList1, VO_ListOfStr11, VO_NowIter)
|
||||
{
|
||||
cout<<"(by for_itc ) "<<VO_NowIter.GetPos()<<" : "<<*VO_NowIter<<endl;
|
||||
}
|
||||
__for_it_r(CStringList1, VO_ListOfStr11, VO_NowIter)
|
||||
{
|
||||
cout<<"(by for_it_r) "<<VO_NowIter.GetPos()<<" : "<<*VO_NowIter<<endl;
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}/*
|
||||
static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)*/
|
||||
@ -391,8 +464,8 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||
|
||||
■ mingw 컴파일
|
||||
|
||||
g++.exe -o ZtCObjList_000_mw.exe ZtCObjList_000.cpp -I../ -lWs2_32
|
||||
g++.exe -o ZtCObjList_000_mw_D.exe ZtCObjList_000.cpp -I../ -lWs2_32 -D_DEBUG
|
||||
g++.exe -o ZtCObjList_000_mw.exe ZtCObjList_000.cpp -I../ -lWs2_32 -Wall -Wno-unused-function -Wno-misleading-indentation -Wno-reorder -Wno-unknown-pragmas
|
||||
g++.exe -o ZtCObjList_000_mw_D.exe ZtCObjList_000.cpp -I../ -lWs2_32 -Wall -Wno-unused-function -Wno-misleading-indentation -Wno-reorder -Wno-unknown-pragmas -D_DEBUG
|
||||
|
||||
./ZtCObjList_000_mw.exe
|
||||
./ZtCObjList_000_mw_D.exe
|
||||
@ -412,8 +485,8 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||
|
||||
■ Linux 컴파일
|
||||
|
||||
g++ -std=c++98 -o ZtCObjList_000.exe ZtCObjList_000.cpp -I../
|
||||
g++ -std=c++98 -o ZtCObjList_000_D.exe ZtCObjList_000.cpp -I../ -D_DEBUG
|
||||
g++ -std=c++98 -o ZtCObjList_000.exe ZtCObjList_000.cpp -I../ -Wall -Wno-unused-function -Wno-misleading-indentation -Wno-reorder
|
||||
g++ -std=c++98 -o ZtCObjList_000_D.exe ZtCObjList_000.cpp -I../ -Wall -Wno-unused-function -Wno-misleading-indentation -Wno-reorder -D_DEBUG
|
||||
|
||||
sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ gcc --version
|
||||
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
|
||||
|
@ -293,8 +293,8 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||
|
||||
■ Linux 컴파일
|
||||
|
||||
g++ -std=c++98 -o ZtCSimList_000.exe ZtCSimList_000.cpp -I../
|
||||
g++ -std=c++98 -o ZtCSimList_000_D.exe ZtCSimList_000.cpp -I../ -D_DEBUG
|
||||
g++ -std=c++98 -o ZtCSimList_000.exe ZtCSimList_000.cpp -I../ -Wall -Wno-unused-function -Wno-misleading-indentation
|
||||
g++ -std=c++98 -o ZtCSimList_000_D.exe ZtCSimList_000.cpp -I../ -Wall -Wno-unused-function -Wno-misleading-indentation -D_DEBUG
|
||||
|
||||
sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ gcc --version
|
||||
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
|
||||
|
@ -240,8 +240,8 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||
|
||||
■ mingw 컴파일
|
||||
|
||||
g++.exe -o ZtCStringBase_000_mw.exe ZtCStringBase_000.cpp -I../ -lWs2_32
|
||||
g++.exe -o ZtCStringBase_000_mw_D.exe ZtCStringBase_000.cpp -I../ -lWs2_32 -D_DEBUG
|
||||
g++.exe -o ZtCStringBase_000_mw.exe ZtCStringBase_000.cpp -I../ -lWs2_32 -Wall -Wno-unused-function -Wno-misleading-indentation
|
||||
g++.exe -o ZtCStringBase_000_mw_D.exe ZtCStringBase_000.cpp -I../ -lWs2_32 -Wall -Wno-unused-function -Wno-misleading-indentation -D_DEBUG
|
||||
|
||||
./ZtCStringBase_000_mw.exe
|
||||
./ZtCStringBase_000_mw_D.exe
|
||||
@ -264,6 +264,9 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||
g++ -std=c++98 -o ZtCStringBase_000.exe ZtCStringBase_000.cpp -I../
|
||||
g++ -std=c++98 -o ZtCStringBase_000_D.exe ZtCStringBase_000.cpp -I../ -D_DEBUG
|
||||
|
||||
g++ -std=c++98 -o ZtCStringBase_000.exe ZtCStringBase_000.cpp -I../ -Wall -Wno-unused-function -Wno-misleading-indentation
|
||||
g++ -std=c++98 -o ZtCStringBase_000_D.exe ZtCStringBase_000.cpp -I../ -Wall -Wno-unused-function -Wno-misleading-indentation -D_DEBUG
|
||||
|
||||
sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ gcc --version
|
||||
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
|
||||
Copyright (C) 2019 Free Software Foundation, Inc.
|
||||
|
@ -172,6 +172,9 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||
g++.exe -std=c++98 -o ZtCThreadEx_002_MutexCond_mw.exe ZtCThreadEx_002_MutexCond.cpp -I../ -lWs2_32
|
||||
g++.exe -std=c++98 -o ZtCThreadEx_002_MutexCond_mw_D.exe ZtCThreadEx_002_MutexCond.cpp -I../ -lWs2_32 -D_DEBUG
|
||||
|
||||
g++.exe -std=c++98 -o ZtCThreadEx_002_MutexCond_mw.exe ZtCThreadEx_002_MutexCond.cpp -I../ -lWs2_32
|
||||
g++.exe -std=c++98 -o ZtCThreadEx_002_MutexCond_mw_D.exe ZtCThreadEx_002_MutexCond.cpp -I../ -lWs2_32 -D_DEBUG
|
||||
|
||||
./ZtCThreadEx_002_MutexCond_mw.exe
|
||||
./ZtCThreadEx_002_MutexCond_mw_D.exe
|
||||
|
||||
@ -190,8 +193,8 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||
|
||||
■ Linux 컴파일
|
||||
|
||||
g++ -std=c++98 -o ZtCThreadEx_002_MutexCond.exe ZtCThreadEx_002_MutexCond.cpp -I../ -lpthread
|
||||
g++ -std=c++98 -o ZtCThreadEx_002_MutexCond_D.exe ZtCThreadEx_002_MutexCond.cpp -I../ -lpthread -D_DEBUG
|
||||
g++ -std=c++98 -o ZtCThreadEx_002_MutexCond.exe ZtCThreadEx_002_MutexCond.cpp -I../ -lpthread -Wall -Wno-unused-function -Wno-misleading-indentation
|
||||
g++ -std=c++98 -o ZtCThreadEx_002_MutexCond_D.exe ZtCThreadEx_002_MutexCond.cpp -I../ -lpthread -Wall -Wno-unused-function -Wno-misleading-indentation -D_DEBUG
|
||||
|
||||
sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ gcc --version
|
||||
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
|
||||
|
317
ZCppMainTest/c++_test_006.cpp
Normal file
317
ZCppMainTest/c++_test_006.cpp
Normal file
@ -0,0 +1,317 @@
|
||||
|
||||
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include "ZCppMain/ZMainHead.H"
|
||||
|
||||
|
||||
using namespace std ;
|
||||
using namespace ZNsMain;
|
||||
|
||||
|
||||
namespace ZNsMain
|
||||
{
|
||||
|
||||
namespace ZNsExam
|
||||
{
|
||||
|
||||
template<typename TType> class ZtCTest
|
||||
{
|
||||
public:
|
||||
template<TType TTypeVar> class ZCTypeVar
|
||||
{
|
||||
public:
|
||||
TType MO_TypeVar;
|
||||
public:
|
||||
ZCTypeVar()
|
||||
{
|
||||
MO_TypeVar=TTypeVar;
|
||||
}
|
||||
public:
|
||||
};/*
|
||||
template<TType TTypeVar> class ZCTypeVar*/
|
||||
public:
|
||||
};/*
|
||||
template<typename TType> class ZtCTest*/
|
||||
|
||||
|
||||
template<typename TType, TType TTypeVar> class ZtCTest2
|
||||
{
|
||||
public:
|
||||
TType MO_TypeVar;
|
||||
public:
|
||||
ZtCTest2()
|
||||
{
|
||||
MO_TypeVar=TTypeVar;
|
||||
}
|
||||
public:
|
||||
};/*
|
||||
template<typename TType, TType TTypeVar> class ZtCTest2*/
|
||||
|
||||
|
||||
class ZCTypeView
|
||||
{
|
||||
public:
|
||||
|
||||
ZCTypeView()
|
||||
{
|
||||
cout<<"# ZCTypeView()"<<endl;
|
||||
}
|
||||
ZCTypeView(const ZCTypeView& rhs)
|
||||
{
|
||||
cout<<"ZCTypeView(const ZCTypeView& rhs)"<<endl;
|
||||
}
|
||||
~ZCTypeView()
|
||||
{
|
||||
cout<<"# ~ZCTypeView()"<<endl;
|
||||
}
|
||||
|
||||
template<typename TTypChain> void OnMeetType()
|
||||
{
|
||||
cout<<TTypChain::ZETypeNo<<" : "<<typeid(typename TTypChain::TypeData).name()<<endl;
|
||||
}
|
||||
template<typename TTypChain, typename TTypHelp> void OnMeetType(TTypHelp& AR_CallNo)
|
||||
{
|
||||
cout<<"* Call No="<<++AR_CallNo<<" : "<<TTypChain::ZETypeNo<<" : "<<typeid(typename TTypChain::TypeData).name()<<endl;
|
||||
}
|
||||
|
||||
template<typename TTypChain> void OnMeetTypeVal()
|
||||
{
|
||||
cout<<"* Val="<<TTypChain::GetData()<<", ETypeNo="<<TTypChain::ZETypeNo<<" : "<<typeid(typename TTypChain::TypeData).name()<<endl;
|
||||
}
|
||||
template<typename TTypChain, typename TTypHelp> void OnMeetTypeVal(TTypHelp& AR_CallNo)
|
||||
{
|
||||
cout<<"* Call No="<<++AR_CallNo<<" : Val="<<TTypChain::GetData()<<", ETypeNo="<<TTypChain::ZETypeNo<<" : "<<typeid(typename TTypChain::TypeData).name()<<endl;
|
||||
}
|
||||
|
||||
template<typename TObjtChain> void OnMeetData(TObjtChain& AR_NowChain)
|
||||
{
|
||||
cout<<"* Type No="<<AR_NowChain.GetNo()<<" : "<<AR_NowChain.GetData()<<endl;
|
||||
}
|
||||
template<typename TObjtChain> void OnMeetData(TObjtChain& AR_NowChain, int& ARI_CallNo)
|
||||
{
|
||||
cout<<"# CallNo="<<++ARI_CallNo<<" : Type No="<<AR_NowChain.GetNo()<<" : "<<AR_NowChain.GetData()<<endl;
|
||||
}
|
||||
};/*
|
||||
class ZCTypeView*/
|
||||
|
||||
|
||||
template<typename TType> class ZCShowType
|
||||
{
|
||||
public:
|
||||
ZCShowType()
|
||||
{
|
||||
cout<<"# TType typename="<<typeid(TType).name()<<endl;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)
|
||||
{
|
||||
ZCShowType<int> myShowType1;
|
||||
ZCShowType<double> myShowType2;
|
||||
ZCShowType<ZTypLLong> myShowType3;
|
||||
//ZCShowType<"abc"> myShowType4; //error
|
||||
|
||||
const int CI_Var1=10;
|
||||
const int CI_Var2=20;
|
||||
const int CI_Var3=30;
|
||||
|
||||
ZtCTest<int>::ZCTypeVar<CI_Var1> myintvar1 ;
|
||||
ZtCTest2<int, CI_Var2> myintvar2 ;
|
||||
ZtCTest2<ZTypLLong, CI_Var3> myintvar3 ;
|
||||
|
||||
cout<<myintvar1.MO_TypeVar<<endl;
|
||||
cout<<myintvar2.MO_TypeVar<<endl;
|
||||
cout<<myintvar3.MO_TypeVar<<endl;
|
||||
|
||||
|
||||
typedef ZtCMiniValChain
|
||||
<
|
||||
char , 'a' , ZtCMiniValChain<
|
||||
char , 'b' , ZtCMiniValChain<
|
||||
char , 'c' , ZtCMiniValChain<
|
||||
//double, 10.2 , ZtCMiniValChain< // error in linux
|
||||
//string, string("123") , ZtCMiniValChain< // error
|
||||
long , 10 , ZtCMiniValChain<
|
||||
int , 19 ,
|
||||
ZCEmpty > > > >
|
||||
> ZCMiniValChain; ZCTypeView VO_ZCTypeView; int VI_CallNo = 0;
|
||||
|
||||
cout<<"# ZCMiniValChain.size()="<<ZCMiniValChain::size()<<endl;
|
||||
|
||||
ZCMiniValChain::ZtCIterChain<ZCTypeView&>::IterHead(VO_ZCTypeView);
|
||||
cout<<"************************************"<<endl;
|
||||
ZCMiniValChain::ZtCIterChain<ZCTypeView&>::IterTail(VO_ZCTypeView);
|
||||
cout<<"************************************"<<endl;
|
||||
|
||||
ZCMiniValChain::ZtCIterChain<ZCTypeView&>::IterHead(VO_ZCTypeView, ZftMCP(VI_CallNo = 0));
|
||||
cout<<"************************************"<<endl;
|
||||
ZCMiniValChain::ZtCIterChain<ZCTypeView&>::IterTail(VO_ZCTypeView, ZftMCP(VI_CallNo = 0));
|
||||
cout<<"************************************"<<endl;
|
||||
|
||||
|
||||
typedef ZtCTypeChain
|
||||
<
|
||||
double , ZtCTypeChain<
|
||||
int , ZtCTypeChain<
|
||||
wchar_t, ZtCTypeChain<
|
||||
char ,
|
||||
|
||||
ZCEmpty > > >
|
||||
> ZCTypeChain;
|
||||
|
||||
cout<<"tmpl chain size = "<<ZCTypeChain::Size()<<endl;
|
||||
|
||||
ZftIterTypeChainTail<ZCTypeChain, ZCTypeView&>(VO_ZCTypeView);
|
||||
|
||||
cout<<"@** call start : ZCTypeView(rhs) **********@"<<endl;
|
||||
ZCTypeChain::ZtCIterChain<ZCTypeView>::IterHead(VO_ZCTypeView);
|
||||
cout<<"@******************************************@"<<endl;
|
||||
ZCTypeChain::ZtCIterChain<ZCTypeView>::IterTail(VO_ZCTypeView);
|
||||
cout<<"@*** call close : ZCTypeView(rhs) *********@"<<endl;
|
||||
|
||||
ZftIterTypeChainHead<ZCTypeChain, ZCTypeView&, int&>
|
||||
( VO_ZCTypeView, (VI_CallNo = 0) );
|
||||
cout<<"************************************"<<endl;
|
||||
ZftIterTypeChainTail<ZCTypeChain, ZCTypeView&, int&>
|
||||
( VO_ZCTypeView, (VI_CallNo = 0) );
|
||||
|
||||
cout<<"************************************"<<endl;
|
||||
ZCTypeChain::ZtCIterChain<ZCTypeView&>::
|
||||
IterHead(VO_ZCTypeView, ZftMCP(VI_CallNo=0));
|
||||
cout<<"************************************"<<endl;
|
||||
ZCTypeChain::ZtCIterChain<ZCTypeView&>::
|
||||
IterTail(VO_ZCTypeView, ZftMCP(VI_CallNo=0));
|
||||
cout<<"************************************"<<endl;
|
||||
|
||||
|
||||
typedef ZtCDataRing<std::string> ZCDataRing;
|
||||
|
||||
ZCDataRing VO_CDataRing = string("123");
|
||||
|
||||
VO_CDataRing.AddTail(string("ABC"));
|
||||
VO_CDataRing.AddTail(string("XYZ"));
|
||||
|
||||
cout<<"# VO_CDataRing Size = "<<VO_CDataRing.size()<<endl;
|
||||
cout<<"# VO_CDataRing Data = "<<VO_CDataRing <<endl;
|
||||
cout<<"************************************"<<endl;
|
||||
cout<<"# VO_CDataRing IterThis = "<<endl;
|
||||
VO_CDataRing.IterThis(&ZftPrint<string>); cout<<endl;
|
||||
cout<<"************************************"<<endl;
|
||||
cout<<"# VO_CDataRing IterHead = "<<endl;
|
||||
VO_CDataRing.IterHead(&ZftPrint<string>); cout<<endl;
|
||||
cout<<"************************************"<<endl;
|
||||
cout<<"# VO_CDataRing IterTail = "<<endl;
|
||||
VO_CDataRing.IterTail(&ZftPrint<string>); cout<<endl;
|
||||
cout<<"************************************"<<endl;
|
||||
cout<<"# VO_CDataRing IterThisRev = "<<endl;
|
||||
VO_CDataRing.IterThisRev(&ZftPrint<string>); cout<<endl;
|
||||
cout<<"************************************"<<endl;
|
||||
cout<<"# VO_CDataRing IterThisRev(HelpType char(',')) = "<<endl;
|
||||
VO_CDataRing.IterThisRev(&ZftPrint<string, char>, char(',')); cout<<endl;
|
||||
cout<<"************************************"<<endl;
|
||||
cout<<"# VO_CDataRing IterTail(HelpType char(',')) = "<<endl;
|
||||
VO_CDataRing.IterTail (&ZftPrint<string, char>, char(',')); cout<<endl;
|
||||
cout<<"************************************"<<endl;
|
||||
|
||||
|
||||
typedef ZtCDataRing<ZCTypeView> ZCViewRing;
|
||||
|
||||
ZCViewRing VO_ZCViewRing;
|
||||
|
||||
VO_ZCViewRing.AddTail();
|
||||
VO_ZCViewRing.AddTail();
|
||||
VO_ZCViewRing.DeleteAll();
|
||||
cout<<"************************************"<<endl;
|
||||
|
||||
return 0;
|
||||
}/*
|
||||
static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)*/
|
||||
|
||||
}/*
|
||||
namespace ZNsExam*/
|
||||
|
||||
}/*
|
||||
namespace ZNsMain*/
|
||||
|
||||
|
||||
int main(int AI_ArgCnt, char* APP_ArgVal[])
|
||||
{
|
||||
return ZNsMain::ZNsExam::Main(AI_ArgCnt, APP_ArgVal);
|
||||
}/*
|
||||
int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||
|
||||
|
||||
/*////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
■ cygwin 컴파일
|
||||
|
||||
// g++ -mno-cygwin -o c++_test_006.exe c++_test_006.cpp -I../../my_CPP/CPP_Main/ -I../../my_CPP/CPP_Std/ -D__CYGWIN32__ -D__VISUAL_CPP_VER__=200300
|
||||
// g++ -mno-cygwin -o c++_test_006_D.exe c++_test_006.cpp -I../../my_CPP/CPP_Main/ -I../../my_CPP/CPP_Std/ -D__CYGWIN32__ -D__VISUAL_CPP_VER__=200300 -D_DEBUG
|
||||
|
||||
■ mingw 컴파일
|
||||
|
||||
g++.exe -o c++_test_006_mw.exe c++_test_006.cpp -I../
|
||||
g++.exe -o c++_test_006_mw_D.exe c++_test_006.cpp -I../ -D_DEBUG
|
||||
|
||||
./c++_test_006_mw.exe
|
||||
./c++_test_006_mw_D.exe
|
||||
|
||||
|
||||
Administrator@q381-2673 UCRT64 /e/my_CPP/ZCpp/ZCppMainTest
|
||||
# date
|
||||
Sun Aug 24 10:47:09 KST 2025
|
||||
|
||||
Administrator@q381-2673 UCRT64 /e/my_CPP/ZCpp/ZCppMainTest
|
||||
# g++ --version
|
||||
g++.exe (Rev2, Built by MSYS2 project) 13.2.0
|
||||
Copyright (C) 2023 Free Software Foundation, Inc.
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
■ Linux 컴파일
|
||||
|
||||
g++ -std=c++98 -o c++_test_006.exe c++_test_006.cpp -I../
|
||||
g++ -std=c++98 -o c++_test_006_D.exe c++_test_006.cpp -I../ -D_DEBUG
|
||||
|
||||
sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ gcc --version
|
||||
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
|
||||
Copyright (C) 2019 Free Software Foundation, Inc.
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ date
|
||||
Sun Aug 24 00:05:51 DST 2025
|
||||
|
||||
sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ cat /etc/os-release
|
||||
NAME="Ubuntu"
|
||||
VERSION="20.04.6 LTS (Focal Fossa)"
|
||||
ID=ubuntu
|
||||
ID_LIKE=debian
|
||||
PRETTY_NAME="Ubuntu 20.04.6 LTS"
|
||||
VERSION_ID="20.04"
|
||||
HOME_URL="https://www.ubuntu.com/"
|
||||
SUPPORT_URL="https://help.ubuntu.com/"
|
||||
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
|
||||
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
|
||||
VERSION_CODENAME=focal
|
||||
UBUNTU_CODENAME=focal
|
||||
|
||||
|
||||
[sauron@q381-2657 ZCppMainTest]$ cat /etc/centos-release
|
||||
CentOS Linux release 7.9.2009 (Core)
|
||||
|
||||
[sauron@q381-2657 ZCppMainTest]$ g++ --version
|
||||
g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
|
||||
Copyright (C) 2015 Free Software Foundation, Inc.
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
■ 실행
|
||||
|
||||
./c++_test_006.exe
|
||||
./c++_test_006_D.exe
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////*/
|
Reference in New Issue
Block a user