commit 2025-10-25 21:38 edit a bit ZCppMain/ZMainHead.H

This commit is contained in:
2025-10-25 21:38:44 +09:00
parent f2f9595a03
commit 4ba2206089

View File

@ -1651,59 +1651,87 @@ namespace ZNsMain
typedef void (*ZfpNone)(void*); void ZfNone(void* AP_Void=0){}; typedef void (*ZfpNone)(void*); void ZfNone(void* AP_Void=0){};
template<typename TType> class ZtCTypeData template<typename TType> class ZtCTypeData
{ public: typedef TType TypeData; { public:
static TType& GetObjRef(TType& AR_Type){return AR_Type;}}; typedef TType TypeData; typedef TType TypeBody;
static TType& GetObjRef(TType& AR_Type){return AR_Type;}
};
template<typename TType> class ZtCTypeData<TType*> template<typename TType> class ZtCTypeData<TType*>
{ public: typedef TType TypeData; { public:
static TType& GetObjRef(TType* AP_Type){return *AP_Type;}}; typedef TType TypeData; typedef TType* TypeBody;
static TType& GetObjRef(TType* AP_Type){return *AP_Type;}
};
template<typename TType> class ZtCTypeData<TType&> template<typename TType> class ZtCTypeData<TType&>
{ public: typedef TType TypeData; { public:
static TType& GetObjRef(TType& AR_Type){return AR_Type;}}; typedef TType TypeData; typedef TType& TypeBody;
static TType& GetObjRef(TType& AR_Type){return AR_Type;}
};
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
template< /*########*/ > class ZtCTypeData<void* > template< /*########*/ > class ZtCTypeData<void* >
{ public: typedef ZfpNone TypeData; { public:
static ZfpNone GetObjRef(void* AP_Void){return ZfNone ;}}; typedef ZfpNone TypeData; typedef ZfpNone TypeBody;
static ZfpNone GetObjRef(void* AP_Void){return ZfNone ;}
};
template< /*########*/ > class ZtCTypeData<void >
{ public:
typedef ZfpNone TypeData; typedef ZfpNone TypeBody;
static ZfpNone GetObjRef(void* AP_Void){return ZfNone ;}
};
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
template<typename TType> class ZtCTypeData< ZtCRef<TType> > template<typename TType> class ZtCTypeData< ZtCRef<TType> >
{ public: typedef TType TypeData; static TType& { public:
GetObjRef(ZtCRef<TType>& AR_CRef) typedef TType TypeData; typedef TType& TypeBody;
static TType& GetObjRef(ZtCRef<TType>& AR_CRef)
{return AR_CRef.GetData() /*//////////////*/ ;} {return AR_CRef.GetData() /*//////////////*/ ;}
static TType& GetObjRef(TType& AR_Data)
{return AR_Data /*//////////////*/ ;}
}; };
template<typename TType> class ZtCTypeData< ZtCRef<TType>* > template<typename TType> class ZtCTypeData< ZtCRef<TType>* >
{ public: typedef TType TypeData; static TType& { public:
GetObjRef(ZtCRef<TType>* AP_CRef) typedef TType TypeData; typedef TType* TypeBody;
static TType& GetObjRef(ZtCRef<TType>* AP_CRef)
{return *reinterpret_cast<TypeData*>(AP_CRef);} {return *reinterpret_cast<TypeData*>(AP_CRef);}
static TType& GetObjRef( TType * AP_Data)
{return *AP_Data /*//////////////*/ ;}
}; };
template<typename TType> class ZtCTD template<typename TType> class ZtCTD
{ public: typedef TType TypeData; { public: typedef TType TypeData; typedef TType TypeBody;
static TType& GetObjRef(TType& AR_Type){return AR_Type ;} static TType& GetObjRef(TType& AR_Type){return AR_Type ;}
static TType& GOR (TType& AR_Type){return AR_Type ;}}; static TType& GOR (TType& AR_Type){return AR_Type ;}};
template<typename TType> class ZtCTD<TType*> template<typename TType> class ZtCTD<TType*>
{ public: typedef TType TypeData; { public: typedef TType TypeData; typedef TType* TypeBody;
static TType& GetObjRef(TType* AP_Type){return *AP_Type;} static TType& GetObjRef(TType* AP_Type){return *AP_Type;}
static TType& GOR (TType* AP_Type){return *AP_Type;}}; static TType& GOR (TType* AP_Type){return *AP_Type;}};
template<typename TType> class ZtCTD<TType&> template<typename TType> class ZtCTD<TType&>
{ public: typedef TType TypeData; { public: typedef TType TypeData; typedef TType& TypeBody;
static TType& GetObjRef(TType& AR_Type){return AR_Type ;} static TType& GetObjRef(TType& AR_Type){return AR_Type ;}
static TType& GOR (TType& AR_Type){return AR_Type ;}}; static TType& GOR (TType& AR_Type){return AR_Type ;}};
template< /*########*/ > class ZtCTD<void* > template< /*########*/ > class ZtCTD<void* >
{ public: typedef ZfpNone TypeData; { public: typedef ZfpNone TypeData; typedef ZfpNone TypeBody;
static ZfpNone GetObjRef(void* AP_Void){return ZfNone ;}
static ZfpNone GOR (void* AP_Void){return ZfNone ;}};
template< /*########*/ > class ZtCTD<void >
{ public: typedef ZfpNone TypeData; typedef ZfpNone TypeBody;
static ZfpNone GetObjRef(void* AP_Void){return ZfNone ;} static ZfpNone GetObjRef(void* AP_Void){return ZfNone ;}
static ZfpNone GOR (void* AP_Void){return ZfNone ;}}; static ZfpNone GOR (void* AP_Void){return ZfNone ;}};
template<typename TType> class ZtCTD< ZtCRef<TType> > template<typename TType> class ZtCTD< ZtCRef<TType> >
{ public: typedef TType TypeData; { public: typedef TType TypeData; typedef TType& TypeBody;
static TType& GetObjRef(ZtCRef<TType>& AR_CRef){return AR_CRef.GetData() ;} static TType& GetObjRef(ZtCRef<TType>& AR_CRef){return AR_CRef.GetData() ;}
static TType& GOR (ZtCRef<TType>& AR_CRef){return AR_CRef.GetData() ;} static TType& GOR (ZtCRef<TType>& AR_CRef){return AR_CRef.GetData() ;}
static TType& GetObjRef( TType & AR_Data){return AR_Data ;}
static TType& GOR ( TType & AR_Data){return AR_Data ;}
}; };
template<typename TType> class ZtCTD< ZtCRef<TType>* > template<typename TType> class ZtCTD< ZtCRef<TType>* >
{ public: typedef TType TypeData; { public: typedef TType TypeData; typedef TType* TypeBody;
static TType& GetObjRef(ZtCRef<TType>* AP_CRef) static TType& GetObjRef(ZtCRef<TType>* AP_CRef)
{return *reinterpret_cast<TypeData*>(AP_CRef);} {return *reinterpret_cast<TypeData*>(AP_CRef);}
static TType& GOR (ZtCRef<TType>* AP_CRef) static TType& GOR (ZtCRef<TType>* AP_CRef)
{return *reinterpret_cast<TypeData*>(AP_CRef);} {return *reinterpret_cast<TypeData*>(AP_CRef);}
static TType& GetObjRef( TType * AP_Data){return AP_Data;}
static TType& GOR ( TType * AP_Data){return *AP_Data;}
}; };
@ -5070,6 +5098,7 @@ namespace ZNsMain
/*/////////////////////////////////////////////////////////////////// /*///////////////////////////////////////////////////////////////////
■ class ZtCMiniValChain<> ■ class ZtCMiniValChain<>