9
9
* Copyright (C) 1999-2000. The University of Chicago
10
10
* See the file LICENSE for information on usage and redistribution.
12
* $Header: /cvsroot/swig/SWIG/Source/Swig/swig.h,v 1.98 2004/12/04 08:33:02 marcelomatus Exp $
12
* $Header: /cvsroot/swig/SWIG/Source/Swig/swig.h,v 1.103 2005/10/13 09:23:20 marcelomatus Exp $
13
13
* ----------------------------------------------------------------------------- */
15
15
#ifndef SWIGCORE_H_
132
133
extern void Swig_init_args(int argc, char **argv);
133
134
extern void Swig_mark_arg(int n);
134
135
extern int Swig_check_marked(int n);
135
extern void Swig_check_options();
136
extern void Swig_check_options(int check_input);
136
137
extern void Swig_arg_error();
138
139
/* --- Scanner Interface --- */
226
227
extern void SwigType_add_template(SwigType *t, ParmList *parms);
227
228
extern SwigType *SwigType_pop_function(SwigType *t);
228
229
extern ParmList *SwigType_function_parms(SwigType *t);
229
extern List *SwigType_split(SwigType *t);
230
extern List *SwigType_split(const SwigType *t);
230
231
extern String *SwigType_pop(SwigType *t);
231
232
extern void SwigType_push(SwigType *t, SwigType *s);
232
233
extern List *SwigType_parmlist(const SwigType *p);
253
254
extern int SwigType_isenum(SwigType *t);
254
255
extern int SwigType_check_decl(SwigType *t, const String_or_char *decl);
255
256
extern SwigType *SwigType_strip_qualifiers(SwigType *t);
256
extern String *SwigType_base(SwigType *t);
257
extern String *SwigType_base(const SwigType *t);
257
258
extern String *SwigType_namestr(const SwigType *t);
258
extern String *SwigType_templateprefix(SwigType *t);
259
extern String *SwigType_templateprefix(const SwigType *t);
259
260
extern String *SwigType_templatesuffix(const SwigType *t);
260
extern String *SwigType_templateargs(SwigType *t);
261
extern String *SwigType_prefix(SwigType *t);
261
extern String *SwigType_templateargs(const SwigType *t);
262
extern String *SwigType_prefix(const SwigType *t);
262
263
extern int SwigType_array_ndim(SwigType *t);
263
264
extern String *SwigType_array_getdim(SwigType *t, int n);
264
265
extern void SwigType_array_setdim(SwigType *t, int n, const String_or_char *rep);
267
268
extern void SwigType_typename_replace(SwigType *t, String *pat, String *rep);
268
269
extern SwigType *SwigType_alttype(SwigType *t, int ltmap);
271
extern void SwigType_template_defargs(Parm *parms, Parm *targs, Symtab *tscope, Symtab *tsdecl);
272
extern SwigType* SwigType_template_deftype(const SwigType *type, Symtab *tscope);
270
274
/* --- Type-system managment --- */
271
275
extern void SwigType_typesystem_init();
272
276
extern int SwigType_typedef(SwigType *type, String_or_char *name);
316
320
extern void Swig_symbol_remove(Node *node);
317
321
extern void Swig_symbol_alias(String_or_char *aliasname, Symtab *tab);
318
322
extern void Swig_symbol_inherit(Symtab *tab);
319
extern SwigType *Swig_symbol_type_qualify(SwigType *ty, Symtab *tab);
323
extern SwigType *Swig_symbol_type_qualify(const SwigType *ty, Symtab *tab);
320
324
extern String *Swig_symbol_string_qualify(String *s, Symtab *tab);
321
325
extern SwigType *Swig_symbol_typedef_reduce(SwigType *ty, Symtab *tab);
327
extern void Swig_symbol_template_defargs(Parm *parms, Parm *targs, Symtab *tscope, Symtab *tsdecl);
328
extern SwigType *Swig_symbol_template_deftype(const SwigType *type, Symtab *tscope);
329
extern SwigType *Swig_symbol_template_param_eval(const SwigType *p, Symtab *symtab);
323
331
/* --- Parameters and Parameter Lists --- */
325
333
/* Parameters are really just hidden behind a DOH object. The following
326
334
interface will probably be simplified even further. */
328
extern Parm *NewParm(SwigType *type, const String_or_char *n);
336
extern Parm *NewParm(SwigType *type, const String_or_char *name);
337
extern Parm *NewParmFromNode(SwigType *type, const String_or_char *name, Node *n);
329
338
extern Parm *CopyParm(Parm *p);
330
339
extern ParmList *CopyParmList(ParmList *);
331
340
extern int ParmList_len(ParmList *);