commit 2025-09-05 15:00 add ZftMakeTuple() in ZCppMain/ZMainHead.H
This commit is contained in:
@ -1172,8 +1172,7 @@ namespace ZNsMain
|
|||||||
>
|
>
|
||||||
struct ZtStTuple //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
struct ZtStTuple //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type1>::TypeData TypeData1 ; /*
|
typedef typename ZtCCheckRef<Type1>::TypeData TypeData1 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type2>::TypeData TypeData2 ; */
|
|
||||||
|
|
||||||
TypeData1 _1;
|
TypeData1 _1;
|
||||||
|
|
||||||
@ -1184,192 +1183,418 @@ namespace ZNsMain
|
|||||||
>
|
>
|
||||||
struct ZtStTuple<Type1, Type2> ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
struct ZtStTuple<Type1, Type2> ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type1>::TypeData TypeData1 ;
|
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type2>::TypeData TypeData2 ;
|
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
|
||||||
|
|
||||||
|
typedef typename CCheckRef1::TypeData TypeData1 ;
|
||||||
|
typedef typename CCheckRef2::TypeData TypeData2 ;
|
||||||
|
|
||||||
TypeData1 _1; TypeData2 _2;
|
TypeData1 _1; TypeData2 _2;
|
||||||
|
|
||||||
ZtStTuple<Type1, Type2>(){}
|
ZtStTuple<Type1, Type2>(){}
|
||||||
ZtStTuple<Type1, Type2>(
|
ZtStTuple<Type1, Type2>(Type1 _T1, Type2 _T2) :
|
||||||
TypeData1 _T1, TypeData2 _T2) : _1(_T1), _2(_T2){}
|
_1(CCheckRef1::PassData(_T1)),
|
||||||
|
_2(CCheckRef2::PassData(_T2))
|
||||||
|
{}
|
||||||
};
|
};
|
||||||
/*###########################################################################################*/
|
/*###########################################################################################*/
|
||||||
template< typename Type1, typename Type2, typename Type3 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
template< typename Type1, typename Type2, typename Type3 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
>
|
>
|
||||||
struct ZtStTuple<Type1, Type2, Type3> /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
struct ZtStTuple<Type1, Type2, Type3> /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type1>::TypeData TypeData1 ;
|
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type2>::TypeData TypeData2 ;
|
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type3>::TypeData TypeData3 ;
|
typedef ZNsMain::ZtCCheckRef<Type3> CCheckRef3 ;
|
||||||
|
|
||||||
|
typedef typename CCheckRef1::TypeData TypeData1 ;
|
||||||
|
typedef typename CCheckRef2::TypeData TypeData2 ;
|
||||||
|
typedef typename CCheckRef3::TypeData TypeData3 ;
|
||||||
|
|
||||||
TypeData1 _1; TypeData2 _2; TypeData3 _3;
|
TypeData1 _1; TypeData2 _2; TypeData3 _3;
|
||||||
|
|
||||||
ZtStTuple<Type1, Type2, Type3>(){}
|
ZtStTuple<Type1, Type2, Type3>(){}
|
||||||
ZtStTuple<Type1, Type2, Type3>(
|
ZtStTuple<Type1, Type2, Type3>
|
||||||
TypeData1 _T1, TypeData2 _T2, TypeData3 _T3) :
|
(Type1 _T1, Type2 _T2, Type3 _T3) :
|
||||||
_1(_T1), _2(_T2), _3(_T3){}
|
_1(CCheckRef1::PassData(_T1)),
|
||||||
|
_2(CCheckRef2::PassData(_T2)),
|
||||||
|
_3(CCheckRef3::PassData(_T3))
|
||||||
|
{}
|
||||||
};
|
};
|
||||||
/*###########################################################################################*/
|
/*###########################################################################################*/
|
||||||
template< typename Type1, typename Type2, typename Type3, typename Type4 ////////////////////////////////////////////////////////////////////////////////////////////////////////
|
template< typename Type1, typename Type2, typename Type3, typename Type4 ////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
>
|
>
|
||||||
struct ZtStTuple<Type1, Type2, Type3, Type4> //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
struct ZtStTuple<Type1, Type2, Type3, Type4> //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type1>::TypeData TypeData1 ;
|
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type2>::TypeData TypeData2 ;
|
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type3>::TypeData TypeData3 ;
|
typedef ZNsMain::ZtCCheckRef<Type3> CCheckRef3 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type4>::TypeData TypeData4 ;
|
typedef ZNsMain::ZtCCheckRef<Type4> CCheckRef4 ;
|
||||||
|
|
||||||
|
typedef typename CCheckRef1::TypeData TypeData1 ;
|
||||||
|
typedef typename CCheckRef2::TypeData TypeData2 ;
|
||||||
|
typedef typename CCheckRef3::TypeData TypeData3 ;
|
||||||
|
typedef typename CCheckRef4::TypeData TypeData4 ;
|
||||||
|
|
||||||
TypeData1 _1; TypeData2 _2; TypeData3 _3; TypeData4 _4;
|
TypeData1 _1; TypeData2 _2; TypeData3 _3; TypeData4 _4;
|
||||||
|
|
||||||
ZtStTuple<Type1, Type2, Type3, Type4>(){}
|
ZtStTuple<Type1, Type2, Type3, Type4>(){}
|
||||||
ZtStTuple<Type1, Type2, Type3, Type4>(
|
ZtStTuple<Type1, Type2, Type3, Type4>
|
||||||
TypeData1 _T1, TypeData2 _T2, TypeData3 _T3, TypeData4 _T4) :
|
(Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4) :
|
||||||
_1(_T1), _2(_T2), _3(_T3), _4(_T4) {}
|
_1(CCheckRef1::PassData(_T1))
|
||||||
|
, _2(CCheckRef2::PassData(_T2))
|
||||||
|
, _3(CCheckRef3::PassData(_T3))
|
||||||
|
, _4(CCheckRef4::PassData(_T4))
|
||||||
|
{}
|
||||||
};
|
};
|
||||||
/*###########################################################################################*/
|
/*###########################################################################################*/
|
||||||
template< typename Type1, typename Type2, typename Type3, typename Type4, typename Type5 ////////////////////////////////////////////////////////////////////////////////////////
|
template< typename Type1, typename Type2, typename Type3, typename Type4, typename Type5 ////////////////////////////////////////////////////////////////////////////////////////
|
||||||
>
|
>
|
||||||
struct ZtStTuple<Type1, Type2, Type3, Type4, Type5> ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
struct ZtStTuple<Type1, Type2, Type3, Type4, Type5> ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type1>::TypeData TypeData1 ;
|
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type2>::TypeData TypeData2 ;
|
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type3>::TypeData TypeData3 ;
|
typedef ZNsMain::ZtCCheckRef<Type3> CCheckRef3 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type4>::TypeData TypeData4 ;
|
typedef ZNsMain::ZtCCheckRef<Type4> CCheckRef4 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type5>::TypeData TypeData5 ;
|
typedef ZNsMain::ZtCCheckRef<Type5> CCheckRef5 ;
|
||||||
|
|
||||||
|
typedef typename CCheckRef1::TypeData TypeData1 ;
|
||||||
|
typedef typename CCheckRef2::TypeData TypeData2 ;
|
||||||
|
typedef typename CCheckRef3::TypeData TypeData3 ;
|
||||||
|
typedef typename CCheckRef4::TypeData TypeData4 ;
|
||||||
|
typedef typename CCheckRef5::TypeData TypeData5 ;
|
||||||
|
|
||||||
TypeData1 _1; TypeData2 _2; TypeData3 _3; TypeData4 _4; TypeData5 _5;
|
TypeData1 _1; TypeData2 _2; TypeData3 _3; TypeData4 _4; TypeData5 _5;
|
||||||
|
|
||||||
ZtStTuple<Type1, Type2, Type3, Type4, Type5>(){}
|
ZtStTuple<Type1, Type2, Type3, Type4, Type5>(){}
|
||||||
ZtStTuple<Type1, Type2, Type3, Type4, Type5>(
|
ZtStTuple<Type1, Type2, Type3, Type4, Type5>
|
||||||
TypeData1 _T1, TypeData2 _T2, TypeData3 _T3, TypeData4 _T4, TypeData5 _T5) :
|
(Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5) :
|
||||||
_1(_T1), _2(_T2), _3(_T3), _4(_T4), _5(_T5){}
|
_1(CCheckRef1::PassData(_T1))
|
||||||
|
, _2(CCheckRef2::PassData(_T2))
|
||||||
|
, _3(CCheckRef3::PassData(_T3))
|
||||||
|
, _4(CCheckRef4::PassData(_T4))
|
||||||
|
, _5(CCheckRef5::PassData(_T5))
|
||||||
|
{}
|
||||||
};
|
};
|
||||||
/*###########################################################################################*/
|
/*###########################################################################################*/
|
||||||
template< typename Type1, typename Type2, typename Type3, typename Type4, typename Type5, typename Type6 ////////////////////////////////////////////////////////////////////////
|
template< typename Type1, typename Type2, typename Type3, typename Type4, typename Type5, typename Type6 ////////////////////////////////////////////////////////////////////////
|
||||||
>
|
>
|
||||||
struct ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6> ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
struct ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6> ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type1>::TypeData TypeData1 ;
|
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type2>::TypeData TypeData2 ;
|
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type3>::TypeData TypeData3 ;
|
typedef ZNsMain::ZtCCheckRef<Type3> CCheckRef3 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type4>::TypeData TypeData4 ;
|
typedef ZNsMain::ZtCCheckRef<Type4> CCheckRef4 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type5>::TypeData TypeData5 ;
|
typedef ZNsMain::ZtCCheckRef<Type5> CCheckRef5 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type6>::TypeData TypeData6 ;
|
typedef ZNsMain::ZtCCheckRef<Type6> CCheckRef6 ;
|
||||||
|
|
||||||
TypeData1 _1; TypeData2 _2; TypeData3 _3;
|
typedef typename CCheckRef1::TypeData TypeData1 ;
|
||||||
TypeData4 _4; TypeData5 _5; TypeData6 _6;
|
typedef typename CCheckRef2::TypeData TypeData2 ;
|
||||||
|
typedef typename CCheckRef3::TypeData TypeData3 ;
|
||||||
|
typedef typename CCheckRef4::TypeData TypeData4 ;
|
||||||
|
typedef typename CCheckRef5::TypeData TypeData5 ;
|
||||||
|
typedef typename CCheckRef6::TypeData TypeData6 ;
|
||||||
|
|
||||||
|
TypeData1 _1; TypeData2 _2; TypeData3 _3; TypeData4 _4; TypeData5 _5; TypeData6 _6;
|
||||||
|
|
||||||
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6>(){}
|
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6>(){}
|
||||||
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6>(
|
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6>
|
||||||
TypeData1 _T1, TypeData2 _T2, TypeData3 _T3 ,
|
(Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6) :
|
||||||
TypeData4 _T4, TypeData5 _T5, TypeData6 _T6) :
|
_1(CCheckRef1::PassData(_T1))
|
||||||
_1(_T1), _2(_T2), _3(_T3), _4(_T4), _5(_T5), _6(_T6) {}
|
, _2(CCheckRef2::PassData(_T2))
|
||||||
|
, _3(CCheckRef3::PassData(_T3))
|
||||||
|
, _4(CCheckRef4::PassData(_T4))
|
||||||
|
, _5(CCheckRef5::PassData(_T5))
|
||||||
|
, _6(CCheckRef6::PassData(_T6))
|
||||||
|
{}
|
||||||
};
|
};
|
||||||
/*###########################################################################################*/
|
/*###########################################################################################*/
|
||||||
template< typename Type1, typename Type2, typename Type3, typename Type4, typename Type5, typename Type6, typename Type7 ////////////////////////////////////////////////////////
|
template< typename Type1, typename Type2, typename Type3, typename Type4, typename Type5, typename Type6, typename Type7 ////////////////////////////////////////////////////////
|
||||||
>
|
>
|
||||||
struct ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7> /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
struct ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7> /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type1>::TypeData TypeData1 ;
|
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type2>::TypeData TypeData2 ;
|
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type3>::TypeData TypeData3 ;
|
typedef ZNsMain::ZtCCheckRef<Type3> CCheckRef3 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type4>::TypeData TypeData4 ;
|
typedef ZNsMain::ZtCCheckRef<Type4> CCheckRef4 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type5>::TypeData TypeData5 ;
|
typedef ZNsMain::ZtCCheckRef<Type5> CCheckRef5 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type6>::TypeData TypeData6 ;
|
typedef ZNsMain::ZtCCheckRef<Type6> CCheckRef6 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type7>::TypeData TypeData7 ;
|
typedef ZNsMain::ZtCCheckRef<Type7> CCheckRef7 ;
|
||||||
|
|
||||||
|
typedef typename CCheckRef1::TypeData TypeData1 ;
|
||||||
|
typedef typename CCheckRef2::TypeData TypeData2 ;
|
||||||
|
typedef typename CCheckRef3::TypeData TypeData3 ;
|
||||||
|
typedef typename CCheckRef4::TypeData TypeData4 ;
|
||||||
|
typedef typename CCheckRef5::TypeData TypeData5 ;
|
||||||
|
typedef typename CCheckRef6::TypeData TypeData6 ;
|
||||||
|
typedef typename CCheckRef7::TypeData TypeData7 ;
|
||||||
|
|
||||||
TypeData1 _1; TypeData2 _2; TypeData3 _3; TypeData4 _4;
|
TypeData1 _1; TypeData2 _2; TypeData3 _3; TypeData4 _4;
|
||||||
TypeData5 _5; TypeData6 _6; TypeData7 _7;
|
TypeData5 _5; TypeData6 _6; TypeData7 _7;
|
||||||
|
|
||||||
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7>(){}
|
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7>(){}
|
||||||
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7>(
|
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7>
|
||||||
TypeData1 _T1, TypeData2 _T2, TypeData3 _T3, TypeData4 _T4,
|
(Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7) :
|
||||||
TypeData5 _T5, TypeData6 _T6, TypeData7 _T7) :
|
_1(CCheckRef1::PassData(_T1))
|
||||||
_1(_T1), _2(_T2), _3(_T3), _4(_T4), _5(_T5), _6(_T6), _7(_T7) {}
|
, _2(CCheckRef2::PassData(_T2))
|
||||||
|
, _3(CCheckRef3::PassData(_T3))
|
||||||
|
, _4(CCheckRef4::PassData(_T4))
|
||||||
|
, _5(CCheckRef5::PassData(_T5))
|
||||||
|
, _6(CCheckRef6::PassData(_T6))
|
||||||
|
, _7(CCheckRef7::PassData(_T7))
|
||||||
|
{}
|
||||||
};
|
};
|
||||||
/*###########################################################################################*/
|
/*###########################################################################################*/
|
||||||
template< typename Type1, typename Type2, typename Type3, typename Type4, typename Type5, typename Type6, typename Type7, typename Type8 ////////////////////////////////////////
|
template< typename Type1, typename Type2, typename Type3, typename Type4, typename Type5, typename Type6, typename Type7, typename Type8 ////////////////////////////////////////
|
||||||
>
|
>
|
||||||
struct ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8> //////////////////////////////////////////////////////////////////////////////////////////////////////////
|
struct ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8> //////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type1>::TypeData TypeData1 ;
|
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type2>::TypeData TypeData2 ;
|
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type3>::TypeData TypeData3 ;
|
typedef ZNsMain::ZtCCheckRef<Type3> CCheckRef3 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type4>::TypeData TypeData4 ;
|
typedef ZNsMain::ZtCCheckRef<Type4> CCheckRef4 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type5>::TypeData TypeData5 ;
|
typedef ZNsMain::ZtCCheckRef<Type5> CCheckRef5 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type6>::TypeData TypeData6 ;
|
typedef ZNsMain::ZtCCheckRef<Type6> CCheckRef6 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type7>::TypeData TypeData7 ;
|
typedef ZNsMain::ZtCCheckRef<Type7> CCheckRef7 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type8>::TypeData TypeData8 ;
|
typedef ZNsMain::ZtCCheckRef<Type8> CCheckRef8 ;
|
||||||
|
|
||||||
|
typedef typename CCheckRef1::TypeData TypeData1 ;
|
||||||
|
typedef typename CCheckRef2::TypeData TypeData2 ;
|
||||||
|
typedef typename CCheckRef3::TypeData TypeData3 ;
|
||||||
|
typedef typename CCheckRef4::TypeData TypeData4 ;
|
||||||
|
typedef typename CCheckRef5::TypeData TypeData5 ;
|
||||||
|
typedef typename CCheckRef6::TypeData TypeData6 ;
|
||||||
|
typedef typename CCheckRef7::TypeData TypeData7 ;
|
||||||
|
typedef typename CCheckRef8::TypeData TypeData8 ;
|
||||||
|
|
||||||
TypeData1 _1; TypeData2 _2; TypeData3 _3; TypeData4 _4;
|
TypeData1 _1; TypeData2 _2; TypeData3 _3; TypeData4 _4;
|
||||||
TypeData5 _5; TypeData6 _6; TypeData7 _7; TypeData8 _8;
|
TypeData5 _5; TypeData6 _6; TypeData7 _7; TypeData8 _8;
|
||||||
|
|
||||||
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8>(){}
|
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8>(){}
|
||||||
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8>(
|
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8>
|
||||||
TypeData1 _T1, TypeData2 _T2, TypeData3 _T3, TypeData4 _T4,
|
(Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7, Type8 _T8) :
|
||||||
TypeData5 _T5, TypeData6 _T6, TypeData7 _T7, TypeData8 _T8) :
|
_1(CCheckRef1::PassData(_T1))
|
||||||
_1(_T1), _2(_T2), _3(_T3), _4(_T4) ,
|
, _2(CCheckRef2::PassData(_T2))
|
||||||
_5(_T5), _6(_T6), _7(_T7), _8(_T8) {}
|
, _3(CCheckRef3::PassData(_T3))
|
||||||
|
, _4(CCheckRef4::PassData(_T4))
|
||||||
|
, _5(CCheckRef5::PassData(_T5))
|
||||||
|
, _6(CCheckRef6::PassData(_T6))
|
||||||
|
, _7(CCheckRef7::PassData(_T7))
|
||||||
|
, _8(CCheckRef8::PassData(_T8))
|
||||||
|
{}
|
||||||
};
|
};
|
||||||
/*###########################################################################################*/
|
/*###########################################################################################*/
|
||||||
template< typename Type1, typename Type2, typename Type3, typename Type4, typename Type5, typename Type6, typename Type7, typename Type8, typename Type9 ////////////////////////
|
template< typename Type1, typename Type2, typename Type3, typename Type4, typename Type5, typename Type6, typename Type7, typename Type8, typename Type9 ////////////////////////
|
||||||
>
|
>
|
||||||
struct ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9> ///////////////////////////////////////////////////////////////////////////////////////////////////
|
struct ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9> ///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type1>::TypeData TypeData1 ;
|
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type2>::TypeData TypeData2 ;
|
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type3>::TypeData TypeData3 ;
|
typedef ZNsMain::ZtCCheckRef<Type3> CCheckRef3 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type4>::TypeData TypeData4 ;
|
typedef ZNsMain::ZtCCheckRef<Type4> CCheckRef4 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type5>::TypeData TypeData5 ;
|
typedef ZNsMain::ZtCCheckRef<Type5> CCheckRef5 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type6>::TypeData TypeData6 ;
|
typedef ZNsMain::ZtCCheckRef<Type6> CCheckRef6 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type7>::TypeData TypeData7 ;
|
typedef ZNsMain::ZtCCheckRef<Type7> CCheckRef7 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type8>::TypeData TypeData8 ;
|
typedef ZNsMain::ZtCCheckRef<Type8> CCheckRef8 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type9>::TypeData TypeData9 ;
|
typedef ZNsMain::ZtCCheckRef<Type9> CCheckRef9 ;
|
||||||
|
|
||||||
TypeData1 _1; TypeData2 _2; TypeData3 _3; TypeData4 _4; TypeData5 _5;
|
typedef typename CCheckRef1::TypeData TypeData1 ;
|
||||||
TypeData6 _6; TypeData7 _7; TypeData8 _8; TypeData9 _9;
|
typedef typename CCheckRef2::TypeData TypeData2 ;
|
||||||
|
typedef typename CCheckRef3::TypeData TypeData3 ;
|
||||||
|
typedef typename CCheckRef4::TypeData TypeData4 ;
|
||||||
|
typedef typename CCheckRef5::TypeData TypeData5 ;
|
||||||
|
typedef typename CCheckRef6::TypeData TypeData6 ;
|
||||||
|
typedef typename CCheckRef7::TypeData TypeData7 ;
|
||||||
|
typedef typename CCheckRef8::TypeData TypeData8 ;
|
||||||
|
typedef typename CCheckRef9::TypeData TypeData9 ;
|
||||||
|
|
||||||
|
TypeData1 _1; TypeData2 _2; TypeData3 _3; TypeData4 _4;
|
||||||
|
TypeData5 _5; TypeData6 _6; TypeData7 _7; TypeData8 _8; TypeData9 _9;
|
||||||
|
|
||||||
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9>(){}
|
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9>(){}
|
||||||
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9>
|
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9>
|
||||||
(
|
(Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7, Type8 _T8, Type9 _T9) :
|
||||||
TypeData1 _T1, TypeData2 _T2, TypeData3 _T3, TypeData4 _T4,
|
_1(CCheckRef1::PassData(_T1))
|
||||||
TypeData5 _T5, TypeData6 _T6, TypeData7 _T7, TypeData8 _T8, TypeData9 _T9
|
, _2(CCheckRef2::PassData(_T2))
|
||||||
) :
|
, _3(CCheckRef3::PassData(_T3))
|
||||||
_1(_T1), _2(_T2), _3(_T3), _4(_T4), _5(_T5),
|
, _4(CCheckRef4::PassData(_T4))
|
||||||
_6(_T6), _7(_T7), _8(_T8), _9(_T9) {}
|
, _5(CCheckRef5::PassData(_T5))
|
||||||
|
, _6(CCheckRef6::PassData(_T6))
|
||||||
|
, _7(CCheckRef7::PassData(_T7))
|
||||||
|
, _8(CCheckRef8::PassData(_T8))
|
||||||
|
, _9(CCheckRef9::PassData(_T9))
|
||||||
|
{}
|
||||||
};
|
};
|
||||||
/*###########################################################################################*/
|
/*###########################################################################################*/
|
||||||
template< typename Type1, typename Type2, typename Type3, typename Type4, typename Type5, typename Type6, typename Type7, typename Type8, typename Type9, typename Type10
|
template< typename Type1, typename Type2, typename Type3, typename Type4, typename Type5, typename Type6, typename Type7, typename Type8, typename Type9, typename Type10
|
||||||
>
|
>
|
||||||
struct ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10> ///////////////////////////////////////////////////////////////////////////////////////////
|
struct ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10> ///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type1 >::TypeData TypeData1 ;
|
typedef ZNsMain::ZtCCheckRef<Type1 > CCheckRef1 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type2 >::TypeData TypeData2 ;
|
typedef ZNsMain::ZtCCheckRef<Type2 > CCheckRef2 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type3 >::TypeData TypeData3 ;
|
typedef ZNsMain::ZtCCheckRef<Type3 > CCheckRef3 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type4 >::TypeData TypeData4 ;
|
typedef ZNsMain::ZtCCheckRef<Type4 > CCheckRef4 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type5 >::TypeData TypeData5 ;
|
typedef ZNsMain::ZtCCheckRef<Type5 > CCheckRef5 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type6 >::TypeData TypeData6 ;
|
typedef ZNsMain::ZtCCheckRef<Type6 > CCheckRef6 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type7 >::TypeData TypeData7 ;
|
typedef ZNsMain::ZtCCheckRef<Type7 > CCheckRef7 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type8 >::TypeData TypeData8 ;
|
typedef ZNsMain::ZtCCheckRef<Type8 > CCheckRef8 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type9 >::TypeData TypeData9 ;
|
typedef ZNsMain::ZtCCheckRef<Type9 > CCheckRef9 ;
|
||||||
typedef typename ZNsType::ZtCTypeCheckRef<Type10>::TypeData TypeData10;
|
typedef ZNsMain::ZtCCheckRef<Type10> CCheckRef10;
|
||||||
|
|
||||||
TypeData1 _1; TypeData2 _2; TypeData3 _3; TypeData4 _4; TypeData5 _5 ;
|
typedef typename CCheckRef1 ::TypeData TypeData1 ;
|
||||||
TypeData6 _6; TypeData7 _7; TypeData8 _8; TypeData9 _9; TypeData9 _10;
|
typedef typename CCheckRef2 ::TypeData TypeData2 ;
|
||||||
|
typedef typename CCheckRef3 ::TypeData TypeData3 ;
|
||||||
|
typedef typename CCheckRef4 ::TypeData TypeData4 ;
|
||||||
|
typedef typename CCheckRef5 ::TypeData TypeData5 ;
|
||||||
|
typedef typename CCheckRef6 ::TypeData TypeData6 ;
|
||||||
|
typedef typename CCheckRef7 ::TypeData TypeData7 ;
|
||||||
|
typedef typename CCheckRef8 ::TypeData TypeData8 ;
|
||||||
|
typedef typename CCheckRef9 ::TypeData TypeData9 ;
|
||||||
|
typedef typename CCheckRef10::TypeData TypeData10 ;
|
||||||
|
|
||||||
ZtStTuple<
|
TypeData1 _1 ; TypeData2 _2 ; TypeData3 _3 ; TypeData4 _4 ;
|
||||||
Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10>(){}
|
TypeData5 _5 ; TypeData6 _6 ; TypeData7 _7 ; TypeData8 _8 ;
|
||||||
ZtStTuple<
|
TypeData9 _9 ; TypeData10 _10;
|
||||||
Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10>(
|
|
||||||
TypeData1 _T1, TypeData2 _T2, TypeData3 _T3, TypeData4 _T4, TypeData5 _T5 ,
|
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10>(){}
|
||||||
TypeData6 _T6, TypeData7 _T7, TypeData8 _T8, TypeData9 _T9, TypeData10 _T10) :
|
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10>
|
||||||
_1(_T1), _2(_T2), _3(_T3), _4(_T4), _5 (_T5 ),
|
(Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7, Type8 _T8, Type9 _T9, Type10 _T10) :
|
||||||
_6(_T6), _7(_T7), _8(_T8), _9(_T9), _10(_T10) {}
|
_1 (CCheckRef1 ::PassData(_T1 ))
|
||||||
|
, _2 (CCheckRef2 ::PassData(_T2 ))
|
||||||
|
, _3 (CCheckRef3 ::PassData(_T3 ))
|
||||||
|
, _4 (CCheckRef4 ::PassData(_T4 ))
|
||||||
|
, _5 (CCheckRef5 ::PassData(_T5 ))
|
||||||
|
, _6 (CCheckRef6 ::PassData(_T6 ))
|
||||||
|
, _7 (CCheckRef7 ::PassData(_T7 ))
|
||||||
|
, _8 (CCheckRef8 ::PassData(_T8 ))
|
||||||
|
, _9 (CCheckRef9 ::PassData(_T9 ))
|
||||||
|
, _10(CCheckRef10::PassData(_T10))
|
||||||
|
{}
|
||||||
};
|
};
|
||||||
/*###########################################################################################*/
|
/*###########################################################################################*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
template<typename Type1, typename Type2>
|
||||||
|
ZtStTuple<Type1, Type2> ZftMakeTuple(Type1 _T1, Type2 _T2)
|
||||||
|
{
|
||||||
|
return ZtStTuple<Type1, Type2>(_T1, _T2);
|
||||||
|
}/*
|
||||||
|
template<typename Type1, typename Type2>
|
||||||
|
ZtStTuple<Type1, Type2> ZftMakeTuple(Type1 _T1, Type2 _T2)*/
|
||||||
|
|
||||||
|
template<typename Type1, typename Type2, typename Type3>
|
||||||
|
ZtStTuple<Type1, Type2, Type3> ZftMakeTuple(Type1 _T1, Type2 _T2, Type3 _T3)
|
||||||
|
{
|
||||||
|
return ZtStTuple<Type1, Type2, Type3>(_T1, _T2, _T3);
|
||||||
|
}/*
|
||||||
|
template<typename Type1, typename Type2, typename Type3>
|
||||||
|
ZtStTuple<Type1, Type2, Type3> ZftMakeTuple(Type1 _T1, Type2 _T2, Type3 _T3)*/
|
||||||
|
|
||||||
|
|
||||||
|
template< typename Type1, typename Type2, typename Type3, typename Type4
|
||||||
|
>
|
||||||
|
ZtStTuple<Type1, Type2, Type3, Type4> ZftMakeTuple /////////////////////
|
||||||
|
(
|
||||||
|
Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4
|
||||||
|
)
|
||||||
|
/*####################################################################*/
|
||||||
|
{
|
||||||
|
return ZtStTuple<Type1, Type2, Type3, Type4>(_T1, _T2, _T3, _T4);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template< typename Type1, typename Type2,
|
||||||
|
typename Type3, typename Type4, typename Type5
|
||||||
|
>
|
||||||
|
ZtStTuple<Type1, Type2, Type3, Type4, Type5> ZftMakeTuple //////////////
|
||||||
|
(
|
||||||
|
Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5
|
||||||
|
)
|
||||||
|
/*####################################################################*/
|
||||||
|
{
|
||||||
|
return ZtStTuple<Type1, Type2, Type3, Type4, Type5>(_T1, _T2, _T3, _T4, _T5);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template< typename Type1, typename Type2, typename Type3,
|
||||||
|
typename Type4, typename Type5, typename Type6
|
||||||
|
>
|
||||||
|
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6> ZftMakeTuple ///////
|
||||||
|
(
|
||||||
|
Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6
|
||||||
|
)
|
||||||
|
/*####################################################################*/
|
||||||
|
{
|
||||||
|
return ZtStTuple
|
||||||
|
<Type1, Type2, Type3, Type4, Type5, Type6>
|
||||||
|
(_T1, _T2, _T3, _T4, _T5, _T6);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template< typename Type1, typename Type2, typename Type3,
|
||||||
|
typename Type4, typename Type5, typename Type6, typename Type7
|
||||||
|
>
|
||||||
|
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7> ZftMakeTuple
|
||||||
|
(
|
||||||
|
Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7
|
||||||
|
)
|
||||||
|
/*####################################################################*/
|
||||||
|
{
|
||||||
|
return ZtStTuple
|
||||||
|
<Type1, Type2, Type3, Type4, Type5, Type6, Type7>
|
||||||
|
(_T1, _T2, _T3, _T4, _T5, _T6, _T7);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template< typename Type1, typename Type2, typename Type3,
|
||||||
|
typename Type4, typename Type5, typename Type6,
|
||||||
|
typename Type7, typename Type8
|
||||||
|
>
|
||||||
|
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8> ZftMakeTuple
|
||||||
|
(
|
||||||
|
Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7, Type8 _T8
|
||||||
|
)
|
||||||
|
/*##########################################################################*/
|
||||||
|
{
|
||||||
|
return ZtStTuple
|
||||||
|
<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8>
|
||||||
|
(_T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template< typename Type1, typename Type2, typename Type3,
|
||||||
|
typename Type4, typename Type5, typename Type6,
|
||||||
|
typename Type7, typename Type8, typename Type9
|
||||||
|
>
|
||||||
|
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9> ZftMakeTuple
|
||||||
|
(
|
||||||
|
Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7, Type8 _T8, Type9 _T9
|
||||||
|
)
|
||||||
|
/*#################################################################################*/
|
||||||
|
{
|
||||||
|
return ZtStTuple
|
||||||
|
<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9>
|
||||||
|
(_T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template< typename Type1, typename Type2, typename Type3,
|
||||||
|
typename Type4, typename Type5, typename Type6,
|
||||||
|
typename Type7, typename Type8, typename Type9, typename Type10
|
||||||
|
>
|
||||||
|
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10> ZftMakeTuple
|
||||||
|
(
|
||||||
|
Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7, Type8 _T8, Type9 _T9, Type10 _T10
|
||||||
|
)
|
||||||
|
/*#########################################################################################*/
|
||||||
|
{
|
||||||
|
return ZtStTuple
|
||||||
|
<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10>
|
||||||
|
(_T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
template< typename TTypeArg1,
|
template< typename TTypeArg1,
|
||||||
typename TTypeArg2,
|
typename TTypeArg2,
|
||||||
bool TTypebCompareObj=true
|
bool TTypebCompareObj=true
|
||||||
@ -3507,13 +3732,13 @@ namespace ZNsMain
|
|||||||
class ZCSyncLog
|
class ZCSyncLog
|
||||||
{
|
{
|
||||||
private :
|
private :
|
||||||
typedef ZCMutexSmallInit CSync;
|
typedef ZCMutexSmallInit ZCSync;
|
||||||
protected:
|
protected:
|
||||||
static CSync& GetCSync()
|
static ZCSync& GetCSync()
|
||||||
{
|
{
|
||||||
static CSync SO_CSyncLog; return SO_CSyncLog;
|
static ZCSync SO_CSyncLog; return SO_CSyncLog;
|
||||||
}/*
|
}/*
|
||||||
static CSync& GetCSync()*/
|
static ZCSync& GetCSync()*/
|
||||||
public :
|
public :
|
||||||
ZCSyncLog (){GetCSync().Lock ();}
|
ZCSyncLog (){GetCSync().Lock ();}
|
||||||
~ZCSyncLog(){GetCSync().UnLock();}
|
~ZCSyncLog(){GetCSync().UnLock();}
|
||||||
|
143
ZCppMainTest/ZftMakeTuple_000.cpp
Normal file
143
ZCppMainTest/ZftMakeTuple_000.cpp
Normal file
@ -0,0 +1,143 @@
|
|||||||
|
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
#include "ZCppMain/ZCStringStd.H"
|
||||||
|
|
||||||
|
|
||||||
|
using namespace std ;
|
||||||
|
using namespace ZNsMain;
|
||||||
|
|
||||||
|
|
||||||
|
namespace ZNsMain
|
||||||
|
{
|
||||||
|
|
||||||
|
namespace ZNsExam
|
||||||
|
{
|
||||||
|
|
||||||
|
template<typename TDummy=void*> class ZtCExamTuple_000
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)
|
||||||
|
{
|
||||||
|
ZCStringStd VO_BuffCStr("myBuff");
|
||||||
|
ZTypInt VI_NowCnt = 0;
|
||||||
|
|
||||||
|
auto myt2 = ZftMakeTuple(1, 34);
|
||||||
|
auto myt3 = ZftMakeTuple(1, 34, 'C');
|
||||||
|
auto myt4 = ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr));
|
||||||
|
auto myt5 = ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true);
|
||||||
|
auto myt6 = ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB");
|
||||||
|
auto myt7 = ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34));
|
||||||
|
auto myt8 = ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43));
|
||||||
|
auto myt9 = ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr));
|
||||||
|
auto myt10= ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr), ZftMCP(VI_NowCnt));
|
||||||
|
|
||||||
|
myt10._10 = 1200;
|
||||||
|
|
||||||
|
cout<<myt10._10<<endl;
|
||||||
|
cout<<VI_NowCnt<<endl;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}/*
|
||||||
|
static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)*/
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
};/*
|
||||||
|
template<typename TDummy=void*> class ZtCExamTuple_000*/
|
||||||
|
|
||||||
|
}/*
|
||||||
|
namespace ZNsExam*/
|
||||||
|
|
||||||
|
}/*
|
||||||
|
namespace ZNsMain*/
|
||||||
|
|
||||||
|
|
||||||
|
int main(int AI_ArgCnt, char* APP_ArgVal[])
|
||||||
|
{
|
||||||
|
return ZNsMain::ZNsExam::
|
||||||
|
|
||||||
|
ZtCExamTuple_000<>::Main(AI_ArgCnt, APP_ArgVal);
|
||||||
|
}/*
|
||||||
|
int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||||
|
|
||||||
|
|
||||||
|
/*////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
■ cigwin 컴파일
|
||||||
|
|
||||||
|
// g++ -mno-cygwin -o ZftMakeTuple_000.exe ZftMakeTuple_000.cpp -I../../my_CPP/CPP_Main/ -I../../my_CPP/CPP_Std/ -D__CYGWIN32__ -D__VISUAL_CPP_VER__=200300
|
||||||
|
// g++ -mno-cygwin -o ZftMakeTuple_000_D.exe ZftMakeTuple_000.cpp -I../../my_CPP/CPP_Main/ -I../../my_CPP/CPP_Std/ -D__CYGWIN32__ -D__VISUAL_CPP_VER__=200300 -D_DEBUG
|
||||||
|
|
||||||
|
■ mingw 컴파일
|
||||||
|
|
||||||
|
//g++.exe -std=c++98 -o ZftMakeTuple_000_mw.exe ZftMakeTuple_000.cpp -I../
|
||||||
|
//g++.exe -std=c++98 -o ZftMakeTuple_000_mw_D.exe ZftMakeTuple_000.cpp -I../ -D_DEBUG
|
||||||
|
|
||||||
|
g++.exe -o ZftMakeTuple_000_mw.exe ZftMakeTuple_000.cpp -I../
|
||||||
|
g++.exe -o ZftMakeTuple_000_mw_D.exe ZftMakeTuple_000.cpp -I../ -D_DEBUG
|
||||||
|
|
||||||
|
./ZftMakeTuple_000_mw.exe
|
||||||
|
./ZftMakeTuple_000_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 ZftMakeTuple_000.exe ZftMakeTuple_000.cpp -I../ -lpthread
|
||||||
|
//g++ -std=c++98 -o ZftMakeTuple_000_D.exe ZftMakeTuple_000.cpp -I../ -lpthread -D_DEBUG
|
||||||
|
|
||||||
|
g++ -o ZftMakeTuple_000.exe ZftMakeTuple_000.cpp -I../
|
||||||
|
g++ -o ZftMakeTuple_000_D.exe ZftMakeTuple_000.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.
|
||||||
|
|
||||||
|
■ 실행
|
||||||
|
|
||||||
|
./ZftMakeTuple_000.exe
|
||||||
|
./ZftMakeTuple_000_D.exe
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////*/
|
Reference in New Issue
Block a user