commit 2025-09-06 09:41 bug fix of ZftMakeTuple() in ZCppMain/ZMainHead.H
This commit is contained in:
@ -1233,6 +1233,10 @@ namespace ZNsMain
|
||||
|
||||
■ 이젠 ZtStTuple<int> 형태도 가능하다. ZftMakeTuple() 도 추가. - -2025-09-05 21:01
|
||||
|
||||
■ RVO(Return Value Optimization) 로 인해 아래가 가능하다. -- 2025-09-06 21:23
|
||||
|
||||
int VariMy=0; ZtStTuple<int&> myt1 = ZftMakeTuple(ZftMCP(VariMy));
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////*/
|
||||
|
||||
template< typename Type1 =void, typename Type2 =void,
|
||||
@ -1250,9 +1254,7 @@ namespace ZNsMain
|
||||
/*###########################################################################################*/
|
||||
|
||||
|
||||
template< typename Type1
|
||||
>
|
||||
struct ZtStTuple<Type1> ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
template<typename Type1> struct ZtStTuple<Type1>
|
||||
{
|
||||
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
|
||||
typedef typename CCheckRef1::TypeData TypeData1 ;
|
||||
@ -1265,9 +1267,9 @@ namespace ZNsMain
|
||||
{}
|
||||
};
|
||||
/*###########################################################################################*/
|
||||
template< typename Type1, typename Type2 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
>
|
||||
struct ZtStTuple<Type1, Type2> ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
template
|
||||
< typename Type1, typename Type2 >
|
||||
struct ZtStTuple<Type1, Type2>
|
||||
{
|
||||
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
|
||||
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
|
||||
@ -1284,9 +1286,9 @@ namespace ZNsMain
|
||||
{}
|
||||
};
|
||||
/*###########################################################################################*/
|
||||
template< typename Type1, typename Type2, typename Type3 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
>
|
||||
struct ZtStTuple<Type1, Type2, Type3> /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
template
|
||||
< typename Type1, typename Type2, typename Type3 >
|
||||
struct ZtStTuple<Type1, Type2, Type3>
|
||||
{
|
||||
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
|
||||
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
|
||||
@ -1307,9 +1309,9 @@ namespace ZNsMain
|
||||
{}
|
||||
};
|
||||
/*###########################################################################################*/
|
||||
template< typename Type1, typename Type2, typename Type3, typename Type4 ////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
>
|
||||
struct ZtStTuple<Type1, Type2, Type3, Type4> //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
template
|
||||
< typename Type1, typename Type2, typename Type3, typename Type4 >
|
||||
struct ZtStTuple<Type1, Type2, Type3, Type4>
|
||||
{
|
||||
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
|
||||
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
|
||||
@ -1333,9 +1335,11 @@ namespace ZNsMain
|
||||
{}
|
||||
};
|
||||
/*###########################################################################################*/
|
||||
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 ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
|
||||
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
|
||||
@ -1362,9 +1366,11 @@ namespace ZNsMain
|
||||
{}
|
||||
};
|
||||
/*###########################################################################################*/
|
||||
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 ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
|
||||
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
|
||||
@ -1380,11 +1386,14 @@ namespace ZNsMain
|
||||
typedef typename CCheckRef5::TypeData TypeData5 ;
|
||||
typedef typename CCheckRef6::TypeData TypeData6 ;
|
||||
|
||||
TypeData1 _1; TypeData2 _2; TypeData3 _3; TypeData4 _4; TypeData5 _5; TypeData6 _6;
|
||||
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>
|
||||
(Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6) :
|
||||
(
|
||||
Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6
|
||||
) :
|
||||
_1(CCheckRef1::PassData(_T1))
|
||||
, _2(CCheckRef2::PassData(_T2))
|
||||
, _3(CCheckRef3::PassData(_T3))
|
||||
@ -1394,9 +1403,11 @@ namespace ZNsMain
|
||||
{}
|
||||
};
|
||||
/*###########################################################################################*/
|
||||
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 ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
|
||||
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
|
||||
@ -1419,7 +1430,10 @@ namespace ZNsMain
|
||||
|
||||
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7>(){}
|
||||
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7>
|
||||
(Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7) :
|
||||
(
|
||||
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))
|
||||
@ -1430,9 +1444,12 @@ namespace ZNsMain
|
||||
{}
|
||||
};
|
||||
/*###########################################################################################*/
|
||||
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 ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
|
||||
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
|
||||
@ -1457,7 +1474,10 @@ namespace ZNsMain
|
||||
|
||||
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8>(){}
|
||||
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) :
|
||||
(
|
||||
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))
|
||||
@ -1469,9 +1489,13 @@ namespace ZNsMain
|
||||
{}
|
||||
};
|
||||
/*###########################################################################################*/
|
||||
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 ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
|
||||
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
|
||||
@ -1498,7 +1522,10 @@ namespace ZNsMain
|
||||
|
||||
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) :
|
||||
(
|
||||
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))
|
||||
@ -1511,9 +1538,16 @@ namespace ZNsMain
|
||||
{}
|
||||
};
|
||||
/*###########################################################################################*/
|
||||
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 ZNsMain::ZtCCheckRef<Type1 > CCheckRef1 ;
|
||||
typedef ZNsMain::ZtCCheckRef<Type2 > CCheckRef2 ;
|
||||
@ -1543,7 +1577,11 @@ namespace ZNsMain
|
||||
|
||||
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) :
|
||||
(
|
||||
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 ))
|
||||
@ -1557,9 +1595,17 @@ namespace ZNsMain
|
||||
{}
|
||||
};
|
||||
/*###########################################################################################*/
|
||||
template< typename Type1, typename Type2, typename Type3, typename Type4, typename Type5, typename Type6, typename Type7, typename Type8, typename Type9, typename Type10, typename Type11
|
||||
template
|
||||
< typename Type1 , typename Type2 , typename Type3,
|
||||
typename Type4 , typename Type5 , typename Type6,
|
||||
typename Type7 , typename Type8 , typename Type9,
|
||||
typename Type10, typename Type11
|
||||
>
|
||||
struct ZtStTuple
|
||||
<
|
||||
Type1, Type2, Type3, Type4 , Type5, Type6,
|
||||
Type7, Type8, Type9, Type10, Type11
|
||||
>
|
||||
struct ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10, Type11> ////////////////////////////////////////////////////////////////////////////////////////////
|
||||
{
|
||||
typedef ZNsMain::ZtCCheckRef<Type1 > CCheckRef1 ;
|
||||
typedef ZNsMain::ZtCCheckRef<Type2 > CCheckRef2 ;
|
||||
@ -1591,7 +1637,11 @@ namespace ZNsMain
|
||||
|
||||
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10, Type11>(){}
|
||||
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10, Type11>
|
||||
(Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7, Type8 _T8, Type9 _T9, Type10 _T10, Type11 _T11) :
|
||||
(
|
||||
Type1 _T1, Type2 _T2 , Type3 _T3 , Type4 _T4,
|
||||
Type5 _T5, Type6 _T6 , Type7 _T7 , Type8 _T8,
|
||||
Type9 _T9, Type10 _T10, Type11 _T11
|
||||
) :
|
||||
_1 (CCheckRef1 ::PassData(_T1 ))
|
||||
, _2 (CCheckRef2 ::PassData(_T2 ))
|
||||
, _3 (CCheckRef3 ::PassData(_T3 ))
|
||||
@ -1606,9 +1656,17 @@ namespace ZNsMain
|
||||
{}
|
||||
};
|
||||
/*###########################################################################################*/
|
||||
template< typename Type1, typename Type2, typename Type3, typename Type4, typename Type5, typename Type6, typename Type7, typename Type8, typename Type9, typename Type10, typename Type11, typename Type12
|
||||
template
|
||||
< typename Type1 , typename Type2 , typename Type3 ,
|
||||
typename Type4 , typename Type5 , typename Type6 ,
|
||||
typename Type7 , typename Type8 , typename Type9 ,
|
||||
typename Type10, typename Type11, typename Type12
|
||||
>
|
||||
struct ZtStTuple
|
||||
<
|
||||
Type1, Type2, Type3, Type4 , Type5 , Type6 ,
|
||||
Type7, Type8, Type9, Type10, Type11, Type12
|
||||
>
|
||||
struct ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10, Type11, Type12> /////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
{
|
||||
typedef ZNsMain::ZtCCheckRef<Type1 > CCheckRef1 ;
|
||||
typedef ZNsMain::ZtCCheckRef<Type2 > CCheckRef2 ;
|
||||
@ -1642,7 +1700,11 @@ namespace ZNsMain
|
||||
|
||||
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10, Type11, Type12>(){}
|
||||
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10, Type11, Type12>
|
||||
(Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7, Type8 _T8, Type9 _T9, Type10 _T10, Type11 _T11, Type12 _T12) :
|
||||
(
|
||||
Type1 _T1, Type2 _T2 , Type3 _T3 , Type4 _T4 ,
|
||||
Type5 _T5, Type6 _T6 , Type7 _T7 , Type8 _T8 ,
|
||||
Type9 _T9, Type10 _T10, Type11 _T11, Type12 _T12
|
||||
) :
|
||||
_1 (CCheckRef1 ::PassData(_T1 ))
|
||||
, _2 (CCheckRef2 ::PassData(_T2 ))
|
||||
, _3 (CCheckRef3 ::PassData(_T3 ))
|
||||
@ -1661,132 +1723,458 @@ namespace ZNsMain
|
||||
|
||||
|
||||
|
||||
template<typename Type1>
|
||||
ZtStTuple<Type1> ZftMakeTuple(Type1 _T1)
|
||||
|
||||
/*/////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
■ RVO(Return Value Optimization) 로 인해 아래가 가능하다. -- 2025-09-06 21:23
|
||||
|
||||
int VariMy=0; ZtStTuple<int&> myt1 = ZftMakeTuple(ZftMCP(VariMy));
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////*/
|
||||
|
||||
template
|
||||
<typename Type1>
|
||||
ZtStTuple /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
|
||||
<typename ZNsMain::ZtCCheckRef<Type1>::TypeData>
|
||||
ZftMakeTuple(Type1 _T1)
|
||||
{
|
||||
return ZtStTuple<Type1>(_T1);
|
||||
}/*
|
||||
template<typename Type1>
|
||||
ZtStTuple<Type1> ZftMakeTuple(Type1 _T1)*/
|
||||
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
|
||||
|
||||
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)*/
|
||||
typedef typename CCheckRef1::TypeData TypeData1 ;
|
||||
|
||||
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)*/
|
||||
return ZtStTuple<TypeData1> /*::::::::::::::::::::::::::::::::::::*/
|
||||
(
|
||||
CCheckRef1::PassData(_T1)
|
||||
);
|
||||
}
|
||||
/*####################################################################*/
|
||||
|
||||
|
||||
template< typename Type1, typename Type2, typename Type3, typename Type4
|
||||
template
|
||||
<typename Type1, typename Type2>
|
||||
ZtStTuple /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
|
||||
<
|
||||
typename ZNsMain::ZtCCheckRef<Type1>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type2>::TypeData
|
||||
>
|
||||
ZtStTuple<Type1, Type2, Type3, Type4> ZftMakeTuple /////////////////////
|
||||
ZftMakeTuple(Type1 _T1, Type2 _T2)
|
||||
{
|
||||
typedef ZNsMain::ZtCCheckRef<Type1> CCheckRef1 ;
|
||||
typedef ZNsMain::ZtCCheckRef<Type2> CCheckRef2 ;
|
||||
|
||||
typedef typename CCheckRef1::TypeData TypeData1 ;
|
||||
typedef typename CCheckRef2::TypeData TypeData2 ;
|
||||
|
||||
return ZtStTuple<TypeData1, TypeData2> /*:::::::::::::::::::::::::*/
|
||||
(
|
||||
CCheckRef1::PassData(_T1)
|
||||
, CCheckRef2::PassData(_T2)
|
||||
);
|
||||
}
|
||||
/*####################################################################*/
|
||||
|
||||
|
||||
template
|
||||
<typename Type1, typename Type2, typename Type3>
|
||||
ZtStTuple /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
|
||||
<
|
||||
typename ZNsMain::ZtCCheckRef<Type1>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type2>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type3>::TypeData
|
||||
>
|
||||
ZftMakeTuple(Type1 _T1, Type2 _T2, Type3 _T3)
|
||||
{
|
||||
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 ;
|
||||
|
||||
return ZtStTuple<TypeData1, TypeData2, TypeData3> /*::::::::::::::*/
|
||||
(
|
||||
CCheckRef1::PassData(_T1)
|
||||
, CCheckRef2::PassData(_T2)
|
||||
, CCheckRef3::PassData(_T3)
|
||||
);
|
||||
}
|
||||
/*####################################################################*/
|
||||
|
||||
|
||||
template
|
||||
< typename Type1, typename Type2, typename Type3, typename Type4 >
|
||||
ZtStTuple /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
|
||||
<
|
||||
typename ZNsMain::ZtCCheckRef<Type1>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type2>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type3>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type4>::TypeData
|
||||
>
|
||||
ZftMakeTuple /*#######################################################*/
|
||||
(
|
||||
Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4
|
||||
)
|
||||
/*####################################################################*/
|
||||
{
|
||||
return ZtStTuple<Type1, Type2, Type3, Type4>(_T1, _T2, _T3, _T4);
|
||||
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 ;
|
||||
|
||||
return ZtStTuple<TypeData1, TypeData2, TypeData3, TypeData4> /*:::*/
|
||||
(
|
||||
CCheckRef1::PassData(_T1)
|
||||
, CCheckRef2::PassData(_T2)
|
||||
, CCheckRef3::PassData(_T3)
|
||||
, CCheckRef4::PassData(_T4)
|
||||
);
|
||||
}
|
||||
/*####################################################################*/
|
||||
|
||||
|
||||
template< typename Type1, typename Type2,
|
||||
typename Type3, typename Type4, typename Type5
|
||||
>
|
||||
ZtStTuple<Type1, Type2, Type3, Type4, Type5> ZftMakeTuple //////////////
|
||||
ZtStTuple /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
|
||||
<
|
||||
typename ZNsMain::ZtCCheckRef<Type1>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type2>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type3>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type4>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type5>::TypeData
|
||||
>
|
||||
ZftMakeTuple /*#######################################################*/
|
||||
(
|
||||
Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5
|
||||
)
|
||||
/*####################################################################*/
|
||||
{
|
||||
return ZtStTuple<Type1, Type2, Type3, Type4, Type5>(_T1, _T2, _T3, _T4, _T5);
|
||||
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 ;
|
||||
|
||||
return ZtStTuple /*:::::::::::::::::::::::::::::::::::::::::::::::*/
|
||||
<
|
||||
TypeData1, TypeData2,
|
||||
TypeData3, TypeData4, TypeData5
|
||||
>
|
||||
(
|
||||
CCheckRef1::PassData(_T1)
|
||||
, CCheckRef2::PassData(_T2)
|
||||
, CCheckRef3::PassData(_T3)
|
||||
, CCheckRef4::PassData(_T4)
|
||||
, CCheckRef5::PassData(_T5)
|
||||
);
|
||||
}
|
||||
/*####################################################################*/
|
||||
|
||||
|
||||
template< typename Type1, typename Type2, typename Type3,
|
||||
typename Type4, typename Type5, typename Type6
|
||||
>
|
||||
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6> ZftMakeTuple ///////
|
||||
ZtStTuple /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
|
||||
<
|
||||
typename ZNsMain::ZtCCheckRef<Type1>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type2>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type3>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type4>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type5>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type6>::TypeData
|
||||
>
|
||||
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);
|
||||
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 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 ;
|
||||
|
||||
return ZtStTuple /*:::::::::::::::::::::::::::::::::::::::::::::::*/
|
||||
<
|
||||
TypeData1, TypeData2, TypeData3,
|
||||
TypeData4, TypeData5, TypeData6
|
||||
>
|
||||
(
|
||||
CCheckRef1::PassData(_T1)
|
||||
, CCheckRef2::PassData(_T2)
|
||||
, CCheckRef3::PassData(_T3)
|
||||
, CCheckRef4::PassData(_T4)
|
||||
, CCheckRef5::PassData(_T5)
|
||||
, CCheckRef6::PassData(_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
|
||||
ZtStTuple /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
|
||||
<
|
||||
typename ZNsMain::ZtCCheckRef<Type1>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type2>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type3>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type4>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type5>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type6>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type7>::TypeData
|
||||
>
|
||||
ZftMakeTuple /*#######################################################*/
|
||||
(
|
||||
Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7
|
||||
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);
|
||||
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 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 ;
|
||||
|
||||
return ZtStTuple /*:::::::::::::::::::::::::::::::::::::::::::::::*/
|
||||
<
|
||||
TypeData1, TypeData2, TypeData3, TypeData4,
|
||||
TypeData5, TypeData6, TypeData7
|
||||
>
|
||||
(
|
||||
CCheckRef1::PassData(_T1)
|
||||
, CCheckRef2::PassData(_T2)
|
||||
, CCheckRef3::PassData(_T3)
|
||||
, CCheckRef4::PassData(_T4)
|
||||
, CCheckRef5::PassData(_T5)
|
||||
, CCheckRef6::PassData(_T6)
|
||||
, CCheckRef7::PassData(_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
|
||||
ZtStTuple /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
|
||||
<
|
||||
typename ZNsMain::ZtCCheckRef<Type1>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type2>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type3>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type4>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type5>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type6>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type7>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type8>::TypeData
|
||||
>
|
||||
ZftMakeTuple /*#######################################################*/
|
||||
(
|
||||
Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7, Type8 _T8
|
||||
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);
|
||||
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 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 ;
|
||||
|
||||
return ZtStTuple /*:::::::::::::::::::::::::::::::::::::::::::::::*/
|
||||
<
|
||||
TypeData1, TypeData2, TypeData3, TypeData4,
|
||||
TypeData5, TypeData6, TypeData7, TypeData8
|
||||
>
|
||||
(
|
||||
CCheckRef1::PassData(_T1)
|
||||
, CCheckRef2::PassData(_T2)
|
||||
, CCheckRef3::PassData(_T3)
|
||||
, CCheckRef4::PassData(_T4)
|
||||
, CCheckRef5::PassData(_T5)
|
||||
, CCheckRef6::PassData(_T6)
|
||||
, CCheckRef7::PassData(_T7)
|
||||
, CCheckRef8::PassData(_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
|
||||
ZtStTuple /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
|
||||
<
|
||||
typename ZNsMain::ZtCCheckRef<Type1>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type2>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type3>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type4>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type5>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type6>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type7>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type8>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type9>::TypeData
|
||||
>
|
||||
ZftMakeTuple /*#######################################################*/
|
||||
(
|
||||
Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7, Type8 _T8, Type9 _T9
|
||||
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);
|
||||
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 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 ;
|
||||
|
||||
return ZtStTuple /*:::::::::::::::::::::::::::::::::::::::::::::::*/
|
||||
<
|
||||
TypeData1, TypeData2, TypeData3, TypeData4,
|
||||
TypeData5, TypeData6, TypeData7, TypeData8, TypeData9
|
||||
>
|
||||
(
|
||||
CCheckRef1::PassData(_T1)
|
||||
, CCheckRef2::PassData(_T2)
|
||||
, CCheckRef3::PassData(_T3)
|
||||
, CCheckRef4::PassData(_T4)
|
||||
, CCheckRef5::PassData(_T5)
|
||||
, CCheckRef6::PassData(_T6)
|
||||
, CCheckRef7::PassData(_T7)
|
||||
, CCheckRef8::PassData(_T8)
|
||||
, CCheckRef9::PassData(_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
|
||||
ZtStTuple /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
|
||||
<
|
||||
typename ZNsMain::ZtCCheckRef<Type1 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type2 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type3 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type4 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type5 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type6 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type7 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type8 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type9 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type10>::TypeData
|
||||
>
|
||||
ZftMakeTuple /*#######################################################*/
|
||||
(
|
||||
Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7, Type8 _T8, Type9 _T9, Type10 _T10
|
||||
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);
|
||||
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;
|
||||
|
||||
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 ;
|
||||
|
||||
return ZtStTuple /*:::::::::::::::::::::::::::::::::::::::::::::::*/
|
||||
<
|
||||
TypeData1, TypeData2, TypeData3, TypeData4,
|
||||
TypeData5, TypeData6, TypeData7, TypeData8,
|
||||
TypeData9, TypeData10
|
||||
>
|
||||
(
|
||||
CCheckRef1 ::PassData(_T1 )
|
||||
, CCheckRef2 ::PassData(_T2 )
|
||||
, CCheckRef3 ::PassData(_T3 )
|
||||
, CCheckRef4 ::PassData(_T4 )
|
||||
, CCheckRef5 ::PassData(_T5 )
|
||||
, CCheckRef6 ::PassData(_T6 )
|
||||
, CCheckRef7 ::PassData(_T7 )
|
||||
, CCheckRef8 ::PassData(_T8 )
|
||||
, CCheckRef9 ::PassData(_T9 )
|
||||
, CCheckRef10::PassData(_T10)
|
||||
);
|
||||
}
|
||||
/*####################################################################*/
|
||||
|
||||
|
||||
template< typename Type1 , typename Type2, typename Type3,
|
||||
@ -1794,16 +2182,73 @@ namespace ZNsMain
|
||||
typename Type7 , typename Type8, typename Type9,
|
||||
typename Type10, typename Type11
|
||||
>
|
||||
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10, Type11> ZftMakeTuple
|
||||
ZtStTuple /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
|
||||
<
|
||||
typename ZNsMain::ZtCCheckRef<Type1 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type2 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type3 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type4 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type5 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type6 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type7 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type8 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type9 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type10>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type11>::TypeData
|
||||
>
|
||||
ZftMakeTuple /*#######################################################*/
|
||||
(
|
||||
Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7, Type8 _T8, Type9 _T9, Type10 _T10, Type11 _T11
|
||||
Type1 _T1, Type2 _T2 , Type3 _T3 , Type4 _T4,
|
||||
Type5 _T5, Type6 _T6 , Type7 _T7 , Type8 _T8,
|
||||
Type9 _T9, Type10 _T10, Type11 _T11
|
||||
)
|
||||
/*#################################################################################################*/
|
||||
/*####################################################################*/
|
||||
{
|
||||
return ZtStTuple
|
||||
<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10, Type11>
|
||||
(_T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11);
|
||||
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;
|
||||
typedef ZNsMain::ZtCCheckRef<Type11> CCheckRef11;
|
||||
|
||||
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 ;
|
||||
typedef typename CCheckRef11::TypeData TypeData11 ;
|
||||
|
||||
return ZtStTuple /*:::::::::::::::::::::::::::::::::::::::::::::::*/
|
||||
<
|
||||
TypeData1, TypeData2 , TypeData3, TypeData4,
|
||||
TypeData5, TypeData6 , TypeData7, TypeData8,
|
||||
TypeData9, TypeData10, TypeData11
|
||||
>
|
||||
(
|
||||
CCheckRef1 ::PassData(_T1 )
|
||||
, CCheckRef2 ::PassData(_T2 )
|
||||
, CCheckRef3 ::PassData(_T3 )
|
||||
, CCheckRef4 ::PassData(_T4 )
|
||||
, CCheckRef5 ::PassData(_T5 )
|
||||
, CCheckRef6 ::PassData(_T6 )
|
||||
, CCheckRef7 ::PassData(_T7 )
|
||||
, CCheckRef8 ::PassData(_T8 )
|
||||
, CCheckRef9 ::PassData(_T9 )
|
||||
, CCheckRef10::PassData(_T10)
|
||||
, CCheckRef11::PassData(_T11)
|
||||
);
|
||||
}
|
||||
/*####################################################################*/
|
||||
|
||||
|
||||
template< typename Type1 , typename Type2 , typename Type3,
|
||||
@ -1811,16 +2256,77 @@ namespace ZNsMain
|
||||
typename Type7 , typename Type8 , typename Type9,
|
||||
typename Type10, typename Type11, typename Type12
|
||||
>
|
||||
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10, Type11, Type12> ZftMakeTuple
|
||||
ZtStTuple /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
|
||||
<
|
||||
typename ZNsMain::ZtCCheckRef<Type1 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type2 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type3 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type4 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type5 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type6 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type7 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type8 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type9 >::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type10>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type11>::TypeData
|
||||
, typename ZNsMain::ZtCCheckRef<Type12>::TypeData
|
||||
>
|
||||
ZftMakeTuple /*#######################################################*/
|
||||
(
|
||||
Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7, Type8 _T8, Type9 _T9, Type10 _T10, Type11 _T11, Type12 _T12
|
||||
Type1 _T1, Type2 _T2 , Type3 _T3 , Type4 _T4 ,
|
||||
Type5 _T5, Type6 _T6 , Type7 _T7 , Type8 _T8 ,
|
||||
Type9 _T9, Type10 _T10, Type11 _T11, Type12 _T12
|
||||
)
|
||||
/*#########################################################################################################*/
|
||||
/*####################################################################*/
|
||||
{
|
||||
return ZtStTuple
|
||||
<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10, Type11, Type12>
|
||||
(_T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12);
|
||||
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;
|
||||
typedef ZNsMain::ZtCCheckRef<Type11> CCheckRef11;
|
||||
typedef ZNsMain::ZtCCheckRef<Type12> CCheckRef12;
|
||||
|
||||
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 ;
|
||||
typedef typename CCheckRef11::TypeData TypeData11 ;
|
||||
typedef typename CCheckRef12::TypeData TypeData12 ;
|
||||
|
||||
return ZtStTuple /*:::::::::::::::::::::::::::::::::::::::::::::::*/
|
||||
<
|
||||
TypeData1, TypeData2 , TypeData3 , TypeData4,
|
||||
TypeData5, TypeData6 , TypeData7 , TypeData8,
|
||||
TypeData9, TypeData10, TypeData11, TypeData12
|
||||
>
|
||||
(
|
||||
CCheckRef1 ::PassData(_T1 )
|
||||
, CCheckRef2 ::PassData(_T2 )
|
||||
, CCheckRef3 ::PassData(_T3 )
|
||||
, CCheckRef4 ::PassData(_T4 )
|
||||
, CCheckRef5 ::PassData(_T5 )
|
||||
, CCheckRef6 ::PassData(_T6 )
|
||||
, CCheckRef7 ::PassData(_T7 )
|
||||
, CCheckRef8 ::PassData(_T8 )
|
||||
, CCheckRef9 ::PassData(_T9 )
|
||||
, CCheckRef10::PassData(_T10)
|
||||
, CCheckRef11::PassData(_T11)
|
||||
, CCheckRef12::PassData(_T12)
|
||||
);
|
||||
}
|
||||
/*####################################################################*/
|
||||
|
||||
|
||||
|
||||
|
@ -20,8 +20,40 @@ namespace ZNsMain
|
||||
|
||||
static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)
|
||||
{
|
||||
ZCStringStd VO_BuffCStr("myBuff");
|
||||
ZTypInt VI_NowCnt = 0;
|
||||
ZCStringStd VO_BuffCStr("myBuff") ;
|
||||
ZTypInt VI_NowCnt = 0 ;
|
||||
|
||||
|
||||
#ifdef __CPP_1998__
|
||||
|
||||
cout<<"# Use C++ 98 Spec"<<endl;
|
||||
|
||||
ZtStTuple<int>
|
||||
myt1 = ZftMakeTuple(1);
|
||||
ZtStTuple<int, int>
|
||||
myt2 = ZftMakeTuple(1, 34);
|
||||
ZtStTuple<int, int, char>
|
||||
myt3 = ZftMakeTuple(1, 34, 'C');
|
||||
ZtStTuple<int, int, char, ZCStringStd&>
|
||||
myt4 = ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr));
|
||||
ZtStTuple<int, int, char, ZCStringStd&, bool>
|
||||
myt5 = ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true);
|
||||
ZtStTuple<int, int, char, ZCStringStd&, bool, const char*>
|
||||
myt6 = ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB");
|
||||
ZtStTuple<int, int, char, ZCStringStd&, bool, const char*, double>
|
||||
myt7 = ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34));
|
||||
ZtStTuple<int, int, char, ZCStringStd&, bool, const char*, double, float>
|
||||
myt8 = ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43));
|
||||
ZtStTuple<int, int, char, ZCStringStd&, bool, const char*, double, float, ZCStringStd&>
|
||||
myt9 = ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr));
|
||||
ZtStTuple<int, int, char, ZCStringStd&, bool, const char*, double, float, ZCStringStd&, int&>
|
||||
myt10= ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr), ZftMCP(VI_NowCnt));
|
||||
ZtStTuple<int, int, char, ZCStringStd&, bool, const char*, double, float, ZCStringStd&, int&, int>
|
||||
myt11= ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr), ZftMCP(VI_NowCnt), 20250906);
|
||||
ZtStTuple<int, int, char, ZCStringStd&, bool, const char*, double, float, ZCStringStd&, int&, int, wchar_t>
|
||||
myt12= ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr), ZftMCP(VI_NowCnt), 20250906, wchar_t(0));
|
||||
#else
|
||||
cout<<"# Use auto keyword for ZtStTuple<> variable"<<endl;
|
||||
|
||||
auto myt1 = ZftMakeTuple(1);
|
||||
auto myt2 = ZftMakeTuple(1, 34);
|
||||
@ -35,6 +67,7 @@ namespace ZNsMain
|
||||
auto myt10= ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr), ZftMCP(VI_NowCnt));
|
||||
auto myt11= ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr), ZftMCP(VI_NowCnt), 20250906);
|
||||
auto myt12= ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43), ZftMCP(VO_BuffCStr), ZftMCP(VI_NowCnt), 20250906, wchar_t(0));
|
||||
#endif
|
||||
|
||||
myt10._10 = 1200;
|
||||
myt11._10 += 1200;
|
||||
@ -43,6 +76,19 @@ namespace ZNsMain
|
||||
cout<<myt10._10<<endl;
|
||||
cout<<VI_NowCnt<<endl;
|
||||
|
||||
cout<<"_1 type : "<<typeid(myt12._1 ).name()<<endl;
|
||||
cout<<"_2 type : "<<typeid(myt12._2 ).name()<<endl;
|
||||
cout<<"_3 type : "<<typeid(myt12._3 ).name()<<endl;
|
||||
cout<<"_4 type : "<<typeid(myt12._4 ).name()<<endl;
|
||||
cout<<"_5 type : "<<typeid(myt12._5 ).name()<<endl;
|
||||
cout<<"_6 type : "<<typeid(myt12._6 ).name()<<endl;
|
||||
cout<<"_7 type : "<<typeid(myt12._7 ).name()<<endl;
|
||||
cout<<"_8 type : "<<typeid(myt12._8 ).name()<<endl;
|
||||
cout<<"_9 type : "<<typeid(myt12._9 ).name()<<endl;
|
||||
cout<<"_10 type : "<<typeid(myt12._10).name()<<endl;
|
||||
cout<<"_11 type : "<<typeid(myt12._11).name()<<endl;
|
||||
cout<<"_12 type : "<<typeid(myt12._12).name()<<endl;
|
||||
|
||||
return 0;
|
||||
}/*
|
||||
static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)*/
|
||||
@ -77,8 +123,8 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||
|
||||
■ 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 -std=c++98 -o ZftMakeTuple_000_mw_98.exe ZftMakeTuple_000.cpp -I../ -D__CPP_1998__
|
||||
g++.exe -std=c++98 -o ZftMakeTuple_000_mw_98_D.exe ZftMakeTuple_000.cpp -I../ -D__CPP_1998__ -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
|
||||
@ -86,6 +132,9 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||
./ZftMakeTuple_000_mw.exe
|
||||
./ZftMakeTuple_000_mw_D.exe
|
||||
|
||||
./ZftMakeTuple_000_mw_98.exe
|
||||
./ZftMakeTuple_000_mw_98_D.exe
|
||||
|
||||
|
||||
Administrator@q381-2673 UCRT64 /e/my_CPP/ZCpp/ZCppMainTest
|
||||
# date
|
||||
@ -107,6 +156,9 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||
g++ -o ZftMakeTuple_000.exe ZftMakeTuple_000.cpp -I../
|
||||
g++ -o ZftMakeTuple_000_D.exe ZftMakeTuple_000.cpp -I../ -D_DEBUG
|
||||
|
||||
g++ -o ZftMakeTuple_000_98.exe ZftMakeTuple_000.cpp -I../ -D__CPP_1998__
|
||||
g++ -o ZftMakeTuple_000_98_D.exe ZftMakeTuple_000.cpp -I../ -D__CPP_1998__ -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.
|
||||
@ -145,4 +197,7 @@ int main(int AI_ArgCnt, char* APP_ArgVal[])*/
|
||||
./ZftMakeTuple_000.exe
|
||||
./ZftMakeTuple_000_D.exe
|
||||
|
||||
./ZftMakeTuple_000_98.exe
|
||||
./ZftMakeTuple_000_98_D.exe
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////*/
|
||||
|
Reference in New Issue
Block a user