commit 2025-09-05 15:00 add ZftMakeTuple() in ZCppMain/ZMainHead.H

This commit is contained in:
2025-09-05 15:01:07 +09:00
parent bf1d0f2222
commit 8533bb0508
2 changed files with 477 additions and 109 deletions

View File

@ -1172,8 +1172,7 @@ namespace ZNsMain
>
struct ZtStTuple //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
{
typedef typename ZNsType::ZtCTypeCheckRef<Type1>::TypeData TypeData1 ; /*
typedef typename ZNsType::ZtCTypeCheckRef<Type2>::TypeData TypeData2 ; */
typedef typename ZtCCheckRef<Type1>::TypeData TypeData1 ;
TypeData1 _1;
@ -1184,192 +1183,418 @@ namespace ZNsMain
>
struct ZtStTuple<Type1, Type2> ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
{
typedef typename ZNsType::ZtCTypeCheckRef<Type1>::TypeData TypeData1 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type2>::TypeData TypeData2 ;
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
typedef typename CCheckRef1::TypeData TypeData1 ;
typedef typename CCheckRef2::TypeData TypeData2 ;
TypeData1 _1; TypeData2 _2;
ZtStTuple<Type1, Type2>(){}
ZtStTuple<Type1, Type2>(
TypeData1 _T1, TypeData2 _T2) : _1(_T1), _2(_T2){}
ZtStTuple<Type1, Type2>(Type1 _T1, Type2 _T2) :
_1(CCheckRef1::PassData(_T1)),
_2(CCheckRef2::PassData(_T2))
{}
};
/*###########################################################################################*/
template< typename Type1, typename Type2, typename Type3 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
>
struct ZtStTuple<Type1, Type2, Type3> /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
{
typedef typename ZNsType::ZtCTypeCheckRef<Type1>::TypeData TypeData1 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type2>::TypeData TypeData2 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type3>::TypeData TypeData3 ;
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
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;
ZtStTuple<Type1, Type2, Type3>(){}
ZtStTuple<Type1, Type2, Type3>(
TypeData1 _T1, TypeData2 _T2, TypeData3 _T3) :
_1(_T1), _2(_T2), _3(_T3){}
ZtStTuple<Type1, Type2, Type3>
(Type1 _T1, Type2 _T2, Type3 _T3) :
_1(CCheckRef1::PassData(_T1)),
_2(CCheckRef2::PassData(_T2)),
_3(CCheckRef3::PassData(_T3))
{}
};
/*###########################################################################################*/
template< typename Type1, typename Type2, typename Type3, typename Type4 ////////////////////////////////////////////////////////////////////////////////////////////////////////
>
struct ZtStTuple<Type1, Type2, Type3, Type4> //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
{
typedef typename ZNsType::ZtCTypeCheckRef<Type1>::TypeData TypeData1 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type2>::TypeData TypeData2 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type3>::TypeData TypeData3 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type4>::TypeData TypeData4 ;
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
typedef ZNsMain::ZtCCheckRef<Type3> CCheckRef3 ;
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;
ZtStTuple<Type1, Type2, Type3, Type4>(){}
ZtStTuple<Type1, Type2, Type3, Type4>(
TypeData1 _T1, TypeData2 _T2, TypeData3 _T3, TypeData4 _T4) :
_1(_T1), _2(_T2), _3(_T3), _4(_T4) {}
ZtStTuple<Type1, Type2, Type3, Type4>
(Type1 _T1, Type2 _T2, Type3 _T3, Type4 _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 ////////////////////////////////////////////////////////////////////////////////////////
>
struct ZtStTuple<Type1, Type2, Type3, Type4, Type5> ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
{
typedef typename ZNsType::ZtCTypeCheckRef<Type1>::TypeData TypeData1 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type2>::TypeData TypeData2 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type3>::TypeData TypeData3 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type4>::TypeData TypeData4 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type5>::TypeData TypeData5 ;
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
typedef ZNsMain::ZtCCheckRef<Type3> CCheckRef3 ;
typedef ZNsMain::ZtCCheckRef<Type4> CCheckRef4 ;
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;
ZtStTuple<Type1, Type2, Type3, Type4, Type5>(){}
ZtStTuple<Type1, Type2, Type3, Type4, Type5>(
TypeData1 _T1, TypeData2 _T2, TypeData3 _T3, TypeData4 _T4, TypeData5 _T5) :
_1(_T1), _2(_T2), _3(_T3), _4(_T4), _5(_T5){}
ZtStTuple<Type1, Type2, Type3, Type4, Type5>
(Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _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 ////////////////////////////////////////////////////////////////////////
>
struct ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6> ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
{
typedef typename ZNsType::ZtCTypeCheckRef<Type1>::TypeData TypeData1 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type2>::TypeData TypeData2 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type3>::TypeData TypeData3 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type4>::TypeData TypeData4 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type5>::TypeData TypeData5 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type6>::TypeData TypeData6 ;
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
typedef ZNsMain::ZtCCheckRef<Type3> CCheckRef3 ;
typedef ZNsMain::ZtCCheckRef<Type4> CCheckRef4 ;
typedef ZNsMain::ZtCCheckRef<Type5> CCheckRef5 ;
typedef ZNsMain::ZtCCheckRef<Type6> CCheckRef6 ;
TypeData1 _1; TypeData2 _2; TypeData3 _3;
TypeData4 _4; TypeData5 _5; TypeData6 _6;
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 ;
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>(
TypeData1 _T1, TypeData2 _T2, TypeData3 _T3 ,
TypeData4 _T4, TypeData5 _T5, TypeData6 _T6) :
_1(_T1), _2(_T2), _3(_T3), _4(_T4), _5(_T5), _6(_T6) {}
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6>
(Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6) :
_1(CCheckRef1::PassData(_T1))
, _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 ////////////////////////////////////////////////////////
>
struct ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7> /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
{
typedef typename ZNsType::ZtCTypeCheckRef<Type1>::TypeData TypeData1 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type2>::TypeData TypeData2 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type3>::TypeData TypeData3 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type4>::TypeData TypeData4 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type5>::TypeData TypeData5 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type6>::TypeData TypeData6 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type7>::TypeData TypeData7 ;
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
typedef ZNsMain::ZtCCheckRef<Type3> CCheckRef3 ;
typedef ZNsMain::ZtCCheckRef<Type4> CCheckRef4 ;
typedef ZNsMain::ZtCCheckRef<Type5> CCheckRef5 ;
typedef ZNsMain::ZtCCheckRef<Type6> CCheckRef6 ;
typedef ZNsMain::ZtCCheckRef<Type7> CCheckRef7 ;
TypeData1 _1; TypeData2 _2; TypeData3 _3; TypeData4 _4;
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;
TypeData5 _5; TypeData6 _6; TypeData7 _7;
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7>(){}
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7>(
TypeData1 _T1, TypeData2 _T2, TypeData3 _T3, TypeData4 _T4,
TypeData5 _T5, TypeData6 _T6, TypeData7 _T7) :
_1(_T1), _2(_T2), _3(_T3), _4(_T4), _5(_T5), _6(_T6), _7(_T7) {}
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7>
(Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7) :
_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))
{}
};
/*###########################################################################################*/
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> //////////////////////////////////////////////////////////////////////////////////////////////////////////
{
typedef typename ZNsType::ZtCTypeCheckRef<Type1>::TypeData TypeData1 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type2>::TypeData TypeData2 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type3>::TypeData TypeData3 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type4>::TypeData TypeData4 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type5>::TypeData TypeData5 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type6>::TypeData TypeData6 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type7>::TypeData TypeData7 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type8>::TypeData TypeData8 ;
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
typedef ZNsMain::ZtCCheckRef<Type3> CCheckRef3 ;
typedef ZNsMain::ZtCCheckRef<Type4> CCheckRef4 ;
typedef ZNsMain::ZtCCheckRef<Type5> CCheckRef5 ;
typedef ZNsMain::ZtCCheckRef<Type6> CCheckRef6 ;
typedef ZNsMain::ZtCCheckRef<Type7> CCheckRef7 ;
typedef ZNsMain::ZtCCheckRef<Type8> CCheckRef8 ;
TypeData1 _1; TypeData2 _2; TypeData3 _3; TypeData4 _4;
TypeData5 _5; TypeData6 _6; TypeData7 _7; TypeData8 _8;
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;
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>(
TypeData1 _T1, TypeData2 _T2, TypeData3 _T3, TypeData4 _T4,
TypeData5 _T5, TypeData6 _T6, TypeData7 _T7, TypeData8 _T8) :
_1(_T1), _2(_T2), _3(_T3), _4(_T4) ,
_5(_T5), _6(_T6), _7(_T7), _8(_T8) {}
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8>
(Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7, Type8 _T8) :
_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))
{}
};
/*###########################################################################################*/
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> ///////////////////////////////////////////////////////////////////////////////////////////////////
{
typedef typename ZNsType::ZtCTypeCheckRef<Type1>::TypeData TypeData1 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type2>::TypeData TypeData2 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type3>::TypeData TypeData3 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type4>::TypeData TypeData4 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type5>::TypeData TypeData5 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type6>::TypeData TypeData6 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type7>::TypeData TypeData7 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type8>::TypeData TypeData8 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type9>::TypeData TypeData9 ;
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
typedef ZNsMain::ZtCCheckRef<Type3> CCheckRef3 ;
typedef ZNsMain::ZtCCheckRef<Type4> CCheckRef4 ;
typedef ZNsMain::ZtCCheckRef<Type5> CCheckRef5 ;
typedef ZNsMain::ZtCCheckRef<Type6> CCheckRef6 ;
typedef ZNsMain::ZtCCheckRef<Type7> CCheckRef7 ;
typedef ZNsMain::ZtCCheckRef<Type8> CCheckRef8 ;
typedef ZNsMain::ZtCCheckRef<Type9> CCheckRef9 ;
TypeData1 _1; TypeData2 _2; TypeData3 _3; TypeData4 _4; TypeData5 _5;
TypeData6 _6; TypeData7 _7; TypeData8 _8; TypeData9 _9;
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 ;
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>
(
TypeData1 _T1, TypeData2 _T2, TypeData3 _T3, TypeData4 _T4,
TypeData5 _T5, TypeData6 _T6, TypeData7 _T7, TypeData8 _T8, TypeData9 _T9
) :
_1(_T1), _2(_T2), _3(_T3), _4(_T4), _5(_T5),
_6(_T6), _7(_T7), _8(_T8), _9(_T9) {}
(Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7, Type8 _T8, Type9 _T9) :
_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))
{}
};
/*###########################################################################################*/
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> ///////////////////////////////////////////////////////////////////////////////////////////
{
typedef typename ZNsType::ZtCTypeCheckRef<Type1 >::TypeData TypeData1 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type2 >::TypeData TypeData2 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type3 >::TypeData TypeData3 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type4 >::TypeData TypeData4 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type5 >::TypeData TypeData5 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type6 >::TypeData TypeData6 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type7 >::TypeData TypeData7 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type8 >::TypeData TypeData8 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type9 >::TypeData TypeData9 ;
typedef typename ZNsType::ZtCTypeCheckRef<Type10>::TypeData TypeData10;
typedef ZNsMain::ZtCCheckRef<Type1 > CCheckRef1 ;
typedef ZNsMain::ZtCCheckRef<Type2 > CCheckRef2 ;
typedef ZNsMain::ZtCCheckRef<Type3 > CCheckRef3 ;
typedef ZNsMain::ZtCCheckRef<Type4 > CCheckRef4 ;
typedef ZNsMain::ZtCCheckRef<Type5 > CCheckRef5 ;
typedef ZNsMain::ZtCCheckRef<Type6 > CCheckRef6 ;
typedef ZNsMain::ZtCCheckRef<Type7 > CCheckRef7 ;
typedef ZNsMain::ZtCCheckRef<Type8 > CCheckRef8 ;
typedef ZNsMain::ZtCCheckRef<Type9 > CCheckRef9 ;
typedef ZNsMain::ZtCCheckRef<Type10> CCheckRef10;
TypeData1 _1; TypeData2 _2; TypeData3 _3; TypeData4 _4; TypeData5 _5 ;
TypeData6 _6; TypeData7 _7; TypeData8 _8; TypeData9 _9; TypeData9 _10;
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 ;
typedef typename CCheckRef9 ::TypeData TypeData9 ;
typedef typename CCheckRef10::TypeData TypeData10 ;
ZtStTuple<
Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10>(){}
ZtStTuple<
Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10>(
TypeData1 _T1, TypeData2 _T2, TypeData3 _T3, TypeData4 _T4, TypeData5 _T5 ,
TypeData6 _T6, TypeData7 _T7, TypeData8 _T8, TypeData9 _T9, TypeData10 _T10) :
_1(_T1), _2(_T2), _3(_T3), _4(_T4), _5 (_T5 ),
_6(_T6), _7(_T7), _8(_T8), _9(_T9), _10(_T10) {}
TypeData1 _1 ; TypeData2 _2 ; TypeData3 _3 ; TypeData4 _4 ;
TypeData5 _5 ; TypeData6 _6 ; TypeData7 _7 ; TypeData8 _8 ;
TypeData9 _9 ; TypeData10 _10;
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10>(){}
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10>
(Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7, Type8 _T8, Type9 _T9, Type10 _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,
typename TTypeArg2,
bool TTypebCompareObj=true
@ -2383,7 +2608,7 @@ namespace ZNsMain
if(CI_RetCode==0) return false;
(ARR_BuffCStr=
(ARR_BuffCStr =
((LPCTSTR)VP_MsgBuff))(", ErrNo=")(ViErrNo);
::LocalFree(VP_MsgBuff); return true;
@ -3507,13 +3732,13 @@ namespace ZNsMain
class ZCSyncLog
{
private :
typedef ZCMutexSmallInit CSync;
typedef ZCMutexSmallInit ZCSync;
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 :
ZCSyncLog (){GetCSync().Lock ();}
~ZCSyncLog(){GetCSync().UnLock();}