⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 generic.mh

📁 开放源码的编译器open watcom 1.6.0版的源代码
💻 MH
字号:
//
//  generic.h   Macros to support pseudo-templates
//
:keep CPP_HDR
:include crwat.sp
//
#ifndef _GENERIC_H_INCLUDED
#define _GENERIC_H_INCLUDED
:include readonly.sp

#ifndef __cplusplus
#error generic.h is for use with C++
#endif

#define name2(__n1,__n2)                __paste2(__n1,__n2)
#define __paste2(__p1,__p2)             __p1##__p2
#define name3(__n1,__n2,__n3)           __paste3(__n1,__n2,__n3)
#define __paste3(__p1,__p2,__p3)        __p1##__p2##__p3
#define name4(__n1,__n2,__n3,__n4)      __paste4(__n1,__n2,__n3,__n4)
#define __paste4(__p1,__p2,__p3,__p4)   __p1##__p2##__p3##__p4

#define declare(__Cls,__Typ1) \
        name2(__Cls,declare)(__Typ1)
#define implement(__Cls,__Typ1) \
        name2(__Cls,implement)(__Typ1)
#define declare2(__Cls,__Typ1,__Typ2) \
        name2(__Cls,declare)(__Typ1,__Typ2)
#define implement2(__Cls,__Typ1,__Typ2) \
        name2(__Cls,implement)(__Typ1,__Typ2)
#define callerror(__Cls,__Typ1,__Typ2,__Typ3) \
        (*errorhandler(__Cls,__Typ1))(__Typ2,__Typ3)
#define errorhandler(__Cls,__Typ1) \
        name3(__Typ1,__Cls,handler)
#define set_handler(__Cls,__Typ1,__Typ2) \
        name4(set_,__Typ1,__Cls,_handler)(__Typ2)

// undocumented AT&T function (WATCOM stub returns first argument)
extern int genericerror( int, char* );
typedef int (*GPT)( int, char* );

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -