📄 sip.h
字号:
imul_slot, irepeat_slot, idiv_slot, imod_slot, iand_slot, ior_slot, ixor_slot, ilshift_slot, irshift_slot, invert_slot, call_slot, getitem_slot, setitem_slot, delitem_slot, lt_slot, le_slot, eq_slot, ne_slot, gt_slot, ge_slot, cmp_slot, nonzero_slot, neg_slot, pos_slot, abs_slot, repr_slot, hash_slot, no_slot} slotType;/* * Argument types. Always add new ones at the end because the numeric values * can appear in generated code. */typedef enum { no_type, defined_type, class_type, struct_type, void_type, enum_type, template_type, signal_type, slot_type, rxcon_type, rxdis_type, slotcon_type, slotdis_type, ustring_type, string_type, short_type, ushort_type, cint_type, int_type, uint_type, long_type, ulong_type, float_type, cfloat_type, double_type, cdouble_type, bool_type, mapped_type, pyobject_type, pytuple_type, pylist_type, pydict_type, pycallable_type, pyslice_type, qobject_type, function_type, pytype_type, ellipsis_type, longlong_type, ulonglong_type, anyslot_type, cbool_type, sstring_type} argType;/* Value types. */typedef enum { qchar_value, string_value, numeric_value, real_value, scoped_value, fcall_value} valueType;/* Version types. */typedef enum { time_qualifier, platform_qualifier, feature_qualifier} qualType;/* Interface file types. */typedef enum { exception_iface, mappedtype_iface, namespace_iface, class_iface} ifaceFileType;/* A software license. */typedef struct { char *type; /* The license type. */ char *licensee; /* The licensee. */ char *timestamp; /* The timestamp. */ char *sig; /* The signature. */} licenseDef;/* A version qualifier. */typedef struct _qualDef { char *name; /* The qualifier name. */ qualType qtype; /* The qualifier type. */ struct _moduleDef *module; /* The defining module. */ int line; /* Timeline if it is a time. */ int order; /* Order if it is a time. */ struct _qualDef *next; /* Next in the list. */} qualDef;/* A scoped name. */typedef struct _scopedNameDef { char *name; /* The name. */ struct _scopedNameDef *next; /* Next in the scope list. */} scopedNameDef;/* A name. */typedef struct _nameDef { int nameflags; /* The name flags. */ struct _moduleDef *module; /* The main module. */ char *text; /* The text of the name. */ struct _nameDef *next; /* Next in the list. */} nameDef;/* * A node in the tree of classes used to determine the order in which the * classes need to be created. */typedef struct _nodeDef { int ordered; /* Set if in order. */ struct _classDef *cd; /* The class. */ struct _nodeDef *parent; /* The parent. */ struct _nodeDef *child; /* The first child. */ struct _nodeDef *next; /* The next sibling. */} nodeDef;/* A module definition. */typedef struct _moduleDef { char *fullname; /* The full module name. */ char *name; /* The module base name. */ int version; /* The module version. */ int modflags; /* The module flags. */ int modulenr; /* The module number. */ char *file; /* The filename. */ qualDef *qualifiers; /* The list of qualifiers. */ nodeDef root; /* Root of class tree. */ int nrtimelines; /* The nr. of timelines. */ int nrclasses; /* The nr. of classes. */ int nrexceptions; /* The nr. of exceptions. */ int nrmappedtypes; /* The nr. of mapped types. */ int nrenums; /* The nr. of named enums. */ int nrtypedefs; /* The nr. of typedefs. */ int nrvirthandlers; /* The nr. of virtual handlers. */ struct _virtHandlerDef *virthandlers; /* The virtual handlers. */ licenseDef *license; /* The software license. */ struct _moduleListDef *imports; /* The list of imports. */ struct _moduleDef *next; /* Next in the list. */} moduleDef;/* An entry in a linked module list. */typedef struct _moduleListDef { moduleDef *module; /* The module itself. */ struct _moduleListDef *next; /* The next in the list. */} moduleListDef;/* A literal code block. */typedef struct _codeBlock { char *frag; /* The code itself. */ char *filename; /* The original file. */ int linenr; /* The line in the file. */ struct _codeBlock *next; /* Next in the list. */} codeBlock;/* The arguments to a throw specifier. */typedef struct _throwArgs { int nrArgs; /* The number of arguments. */ struct _exceptionDef *args[MAX_NR_ARGS]; /* The arguments. */} throwArgs;/* An exception. */typedef struct _exceptionDef { int exceptionnr; /* The exception number. */ struct _ifaceFileDef *iff; /* The interface file. */ char *pyname; /* The exception Python name. */ struct _classDef *cd; /* The exception class. */ char *bibase; /* The builtin base exception. */ struct _exceptionDef *base; /* The defined base exception. */ codeBlock *hdrcode; /* Optional header code. */ codeBlock *raisecode; /* Raise exception code. */ struct _exceptionDef *next; /* The next in the list. */} exceptionDef;/* A value. */typedef struct _valueDef { valueType vtype; /* The type. */ char vunop; /* Any unary operator. */ char vbinop; /* Any binary operator. */ union { char vqchar; /* Quoted character value. */ long vnum; /* Numeric value. */ double vreal; /* Real value. */ char *vstr; /* String value. */ scopedNameDef *vscp; /* Scoped value. */ struct _fcallDef *fcd; /* Function call. */ } u; struct _valueDef *next; /* Next in the expression. */} valueDef;/* A member function argument (or result). */typedef struct { argType atype; /* The type. */ char *name; /* The name. */ int argflags; /* The argument flags. */ int nrderefs; /* Nr. of dereferences. */ valueDef *defval; /* The default value. */ union { struct _signatureDef *sa; /* If it is a function. */ struct _templateDef *td; /* If it is a template. */ struct _scopedNameDef *snd; /* If it is a defined type. */ struct _classDef *cd; /* If it is a class. */ struct _enumDef *ed; /* If it is an enum. */ struct _scopedNameDef *sname; /* If it is a struct. */ struct _mappedTypeDef *mtd; /* If it is a mapped type. */ } u;} argDef;/* An entry in a linked argument list. */typedef struct _argList { argDef arg; /* The argument itself. */ struct _argList *next; /* Next in the list. */} argList;/* A function call. */typedef struct _fcallDef { argDef type; /* The type. */ int nrArgs; /* The number of arguments. */ struct _valueDef *args[MAX_NR_ARGS]; /* The arguments. */} fcallDef;/* An interface file definition. */typedef struct _ifaceFileDef { nameDef *name; /* The name. */ ifaceFileType type; /* Interface file type. */ scopedNameDef *fqcname; /* The fully qualified C++ name. */ moduleDef *module; /* The owning module. */ struct _ifaceFileList *used; /* Interface files used. */ struct _ifaceFileDef *next; /* Next in the list. */} ifaceFileDef;/* An entry in a linked interface file list. */typedef struct _ifaceFileList { ifaceFileDef *iff; /* The interface file itself. */ int header; /* If needed in the .h file. */ struct _ifaceFileList *next; /* Next in the list. */} ifaceFileList;/* A mapped type. */typedef struct _mappedTypeDef { argDef type; /* The type being mapped. */ int mappednr; /* The mapped type number. */ ifaceFileDef *iff; /* The interface file. */ codeBlock *hdrcode; /* Header code. */ codeBlock *convfromcode; /* Convert from C++ code. */ codeBlock *convtocode; /* Convert to C++ code. */ struct _mappedTypeDef *next; /* Next in the list. */} mappedTypeDef;/* A function signature. */typedef struct _signatureDef { argDef result; /* The result. */ int nrArgs; /* The number of arguments. */ argDef args[MAX_NR_ARGS]; /* The arguments. */} signatureDef;/* A list of function signatures. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -