commit 2025-09-06 01:27 edit a bit ZCppMain/ZMainHead.H

This commit is contained in:
2025-09-06 01:27:08 +09:00
parent 049521c7c7
commit ba43de8a27
2 changed files with 148 additions and 6 deletions

View File

@ -1239,7 +1239,9 @@ namespace ZNsMain
typename Type3 =void, typename Type4 =void, typename Type3 =void, typename Type4 =void,
typename Type5 =void, typename Type6 =void, typename Type5 =void, typename Type6 =void,
typename Type7 =void, typename Type8 =void, typename Type7 =void, typename Type8 =void,
typename Type9=void, typename Type10=void, typename Type11=void typename Type9 =void, typename Type10=void,
typename Type11=void, typename Type12=void,
typename Type13=void
> >
struct ZtStTuple ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// struct ZtStTuple //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
{ {
@ -1555,6 +1557,108 @@ 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
>
struct ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10, Type11> ////////////////////////////////////////////////////////////////////////////////////////////
{
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 ;
TypeData1 _1 ; TypeData2 _2 ; TypeData3 _3 ; TypeData4 _4 ;
TypeData5 _5 ; TypeData6 _6 ; TypeData7 _7 ; TypeData8 _8 ;
TypeData9 _9 ; TypeData10 _10; TypeData11 _11;
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) :
_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))
, _11(CCheckRef11::PassData(_T11))
{}
};
/*###########################################################################################*/
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> /////////////////////////////////////////////////////////////////////////////////////////////////////
{
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 ;
TypeData1 _1 ; TypeData2 _2 ; TypeData3 _3 ; TypeData4 _4 ;
TypeData5 _5 ; TypeData6 _6 ; TypeData7 _7 ; TypeData8 _8 ;
TypeData9 _9 ; TypeData10 _10; TypeData11 _11; TypeData12 _12;
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) :
_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))
, _11(CCheckRef11::PassData(_T11))
, _12(CCheckRef12::PassData(_T12))
{}
};
/*###########################################################################################*/
template<typename Type1> template<typename Type1>
@ -1685,6 +1789,40 @@ 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
>
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10, Type11> ZftMakeTuple
(
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);
}
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
>
ZtStTuple<Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10, Type11, Type12> 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
)
/*#########################################################################################################*/
{
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);
}
template< typename TTypeArg1, template< typename TTypeArg1,
typename TTypeArg2, typename TTypeArg2,

View File

@ -33,9 +33,13 @@ namespace ZNsMain
auto myt8 = ZftMakeTuple(1, 34, 'C', ZftMCP(VO_BuffCStr), true, "AB", double(0.34), float(24.43)); 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 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)); 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), wchar_t(0));
myt10._10 = 1200; // 아래 2개 출력이 같아야 한다. myt10._10 = 1200;
myt11._10 += 1200;
// 아래 2개 출력이 같아야 한다.
cout<<myt10._10<<endl; cout<<myt10._10<<endl;
cout<<VI_NowCnt<<endl; cout<<VI_NowCnt<<endl;