diff --git a/ZCppMain/ZMainHead.H b/ZCppMain/ZMainHead.H index 4cb5c9d..f001539 100644 --- a/ZCppMain/ZMainHead.H +++ b/ZCppMain/ZMainHead.H @@ -1172,8 +1172,7 @@ namespace ZNsMain > struct ZtStTuple ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// { - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData1 ; /* - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData2 ; */ + typedef typename ZtCCheckRef::TypeData TypeData1 ; TypeData1 _1; @@ -1184,192 +1183,418 @@ namespace ZNsMain > struct ZtStTuple //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// { - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData1 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData2 ; + typedef ZNsMain::ZtCCheckRef CCheckRef1 ; + typedef ZNsMain::ZtCCheckRef CCheckRef2 ; + + typedef typename CCheckRef1::TypeData TypeData1 ; + typedef typename CCheckRef2::TypeData TypeData2 ; TypeData1 _1; TypeData2 _2; ZtStTuple(){} - ZtStTuple( - TypeData1 _T1, TypeData2 _T2) : _1(_T1), _2(_T2){} + ZtStTuple(Type1 _T1, Type2 _T2) : + _1(CCheckRef1::PassData(_T1)), + _2(CCheckRef2::PassData(_T2)) + {} }; /*###########################################################################################*/ template< typename Type1, typename Type2, typename Type3 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// > struct ZtStTuple ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// { - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData1 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData2 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData3 ; + typedef ZNsMain::ZtCCheckRef CCheckRef1 ; + typedef ZNsMain::ZtCCheckRef CCheckRef2 ; + typedef ZNsMain::ZtCCheckRef CCheckRef3 ; + + typedef typename CCheckRef1::TypeData TypeData1 ; + typedef typename CCheckRef2::TypeData TypeData2 ; + typedef typename CCheckRef3::TypeData TypeData3 ; TypeData1 _1; TypeData2 _2; TypeData3 _3; ZtStTuple(){} - ZtStTuple( - TypeData1 _T1, TypeData2 _T2, TypeData3 _T3) : - _1(_T1), _2(_T2), _3(_T3){} - + ZtStTuple + (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 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// { - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData1 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData2 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData3 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData4 ; + typedef ZNsMain::ZtCCheckRef CCheckRef1 ; + typedef ZNsMain::ZtCCheckRef CCheckRef2 ; + typedef ZNsMain::ZtCCheckRef CCheckRef3 ; + typedef ZNsMain::ZtCCheckRef 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(){} - ZtStTuple( - TypeData1 _T1, TypeData2 _T2, TypeData3 _T3, TypeData4 _T4) : - _1(_T1), _2(_T2), _3(_T3), _4(_T4) {} + ZtStTuple + (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 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// { - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData1 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData2 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData3 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData4 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData5 ; + typedef ZNsMain::ZtCCheckRef CCheckRef1 ; + typedef ZNsMain::ZtCCheckRef CCheckRef2 ; + typedef ZNsMain::ZtCCheckRef CCheckRef3 ; + typedef ZNsMain::ZtCCheckRef CCheckRef4 ; + typedef ZNsMain::ZtCCheckRef 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(){} - ZtStTuple( - TypeData1 _T1, TypeData2 _T2, TypeData3 _T3, TypeData4 _T4, TypeData5 _T5) : - _1(_T1), _2(_T2), _3(_T3), _4(_T4), _5(_T5){} + ZtStTuple + (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 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// { - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData1 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData2 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData3 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData4 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData5 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData6 ; + typedef ZNsMain::ZtCCheckRef CCheckRef1 ; + typedef ZNsMain::ZtCCheckRef CCheckRef2 ; + typedef ZNsMain::ZtCCheckRef CCheckRef3 ; + typedef ZNsMain::ZtCCheckRef CCheckRef4 ; + typedef ZNsMain::ZtCCheckRef CCheckRef5 ; + typedef ZNsMain::ZtCCheckRef 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(){} - ZtStTuple( - 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 _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 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// { - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData1 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData2 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData3 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData4 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData5 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData6 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData7 ; + typedef ZNsMain::ZtCCheckRef CCheckRef1 ; + typedef ZNsMain::ZtCCheckRef CCheckRef2 ; + typedef ZNsMain::ZtCCheckRef CCheckRef3 ; + typedef ZNsMain::ZtCCheckRef CCheckRef4 ; + typedef ZNsMain::ZtCCheckRef CCheckRef5 ; + typedef ZNsMain::ZtCCheckRef CCheckRef6 ; + typedef ZNsMain::ZtCCheckRef 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(){} - ZtStTuple( - 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 _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 ////////////////////////////////////////////////////////////////////////////////////////////////////////// { - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData1 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData2 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData3 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData4 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData5 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData6 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData7 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData8 ; + typedef ZNsMain::ZtCCheckRef CCheckRef1 ; + typedef ZNsMain::ZtCCheckRef CCheckRef2 ; + typedef ZNsMain::ZtCCheckRef CCheckRef3 ; + typedef ZNsMain::ZtCCheckRef CCheckRef4 ; + typedef ZNsMain::ZtCCheckRef CCheckRef5 ; + typedef ZNsMain::ZtCCheckRef CCheckRef6 ; + typedef ZNsMain::ZtCCheckRef CCheckRef7 ; + typedef ZNsMain::ZtCCheckRef 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(){} - ZtStTuple( - 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 _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 /////////////////////////////////////////////////////////////////////////////////////////////////// { - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData1 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData2 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData3 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData4 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData5 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData6 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData7 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData8 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData9 ; + typedef ZNsMain::ZtCCheckRef CCheckRef1 ; + typedef ZNsMain::ZtCCheckRef CCheckRef2 ; + typedef ZNsMain::ZtCCheckRef CCheckRef3 ; + typedef ZNsMain::ZtCCheckRef CCheckRef4 ; + typedef ZNsMain::ZtCCheckRef CCheckRef5 ; + typedef ZNsMain::ZtCCheckRef CCheckRef6 ; + typedef ZNsMain::ZtCCheckRef CCheckRef7 ; + typedef ZNsMain::ZtCCheckRef CCheckRef8 ; + typedef ZNsMain::ZtCCheckRef 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(){} ZtStTuple - ( - 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 /////////////////////////////////////////////////////////////////////////////////////////// { - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData1 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData2 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData3 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData4 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData5 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData6 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData7 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData8 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData9 ; - typedef typename ZNsType::ZtCTypeCheckRef::TypeData TypeData10; + typedef ZNsMain::ZtCCheckRef CCheckRef1 ; + typedef ZNsMain::ZtCCheckRef CCheckRef2 ; + typedef ZNsMain::ZtCCheckRef CCheckRef3 ; + typedef ZNsMain::ZtCCheckRef CCheckRef4 ; + typedef ZNsMain::ZtCCheckRef CCheckRef5 ; + typedef ZNsMain::ZtCCheckRef CCheckRef6 ; + typedef ZNsMain::ZtCCheckRef CCheckRef7 ; + typedef ZNsMain::ZtCCheckRef CCheckRef8 ; + typedef ZNsMain::ZtCCheckRef CCheckRef9 ; + typedef ZNsMain::ZtCCheckRef 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(){} + ZtStTuple + (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 + ZtStTuple ZftMakeTuple(Type1 _T1, Type2 _T2) + { + return ZtStTuple(_T1, _T2); + }/* + template + ZtStTuple ZftMakeTuple(Type1 _T1, Type2 _T2)*/ + + template + ZtStTuple ZftMakeTuple(Type1 _T1, Type2 _T2, Type3 _T3) + { + return ZtStTuple(_T1, _T2, _T3); + }/* + template + ZtStTuple ZftMakeTuple(Type1 _T1, Type2 _T2, Type3 _T3)*/ + + + template< typename Type1, typename Type2, typename Type3, typename Type4 + > + ZtStTuple ZftMakeTuple ///////////////////// + ( + Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4 + ) + /*####################################################################*/ + { + return ZtStTuple(_T1, _T2, _T3, _T4); + } + + + template< typename Type1, typename Type2, + typename Type3, typename Type4, typename Type5 + > + ZtStTuple ZftMakeTuple ////////////// + ( + Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5 + ) + /*####################################################################*/ + { + return ZtStTuple(_T1, _T2, _T3, _T4, _T5); + } + + + template< typename Type1, typename Type2, typename Type3, + typename Type4, typename Type5, typename Type6 + > + ZtStTuple ZftMakeTuple /////// + ( + Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6 + ) + /*####################################################################*/ + { + return ZtStTuple + + (_T1, _T2, _T3, _T4, _T5, _T6); + } + + + template< typename Type1, typename Type2, typename Type3, + typename Type4, typename Type5, typename Type6, typename Type7 + > + ZtStTuple ZftMakeTuple + ( + Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7 + ) + /*####################################################################*/ + { + return ZtStTuple + + (_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 ZftMakeTuple + ( + Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7, Type8 _T8 + ) + /*##########################################################################*/ + { + return ZtStTuple + + (_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 ZftMakeTuple + ( + Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7, Type8 _T8, Type9 _T9 + ) + /*#################################################################################*/ + { + return ZtStTuple + + (_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 ZftMakeTuple + ( + Type1 _T1, Type2 _T2, Type3 _T3, Type4 _T4, Type5 _T5, Type6 _T6, Type7 _T7, Type8 _T8, Type9 _T9, Type10 _T10 + ) + /*#########################################################################################*/ + { + return ZtStTuple + + (_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();} diff --git a/ZCppMainTest/ZftMakeTuple_000.cpp b/ZCppMainTest/ZftMakeTuple_000.cpp new file mode 100644 index 0000000..79aa6bc --- /dev/null +++ b/ZCppMainTest/ZftMakeTuple_000.cpp @@ -0,0 +1,143 @@ + + +#include +#include "ZCppMain/ZCStringStd.H" + + +using namespace std ; +using namespace ZNsMain; + + +namespace ZNsMain +{ + + namespace ZNsExam + { + + template 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< 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 + +////////////////////////////////////////////////////////////////////////////////////////*/