aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/swig/Source/Swig/swigparm.h
blob: 7b63546ec072d0fd2410c90c2ef2ea9f94082d7e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/* ----------------------------------------------------------------------------- 
 * This file is part of SWIG, which is licensed as a whole under version 3 
 * (or any later version) of the GNU General Public License. Some additional
 * terms also apply to certain portions of SWIG. The full details of the SWIG
 * license and copyrights can be found in the LICENSE and COPYRIGHT files
 * included with the SWIG source code as distributed by the SWIG developers
 * and at https://www.swig.org/legal.html.
 *
 * swigparm.h
 *
 * Functions related to the handling of function/method parameters and
 * parameter lists.  
 * ----------------------------------------------------------------------------- */

/* Individual parameters */
extern Parm      *NewParm(SwigType *type, const_String_or_char_ptr name, Node *from_node);
extern Parm      *NewParmWithoutFileLineInfo(SwigType *type, const_String_or_char_ptr name);
extern Parm      *NewParmNode(SwigType *type, Node *from_node);
extern Parm      *CopyParm(Parm *p);

/* Parameter lists */
extern ParmList  *CopyParmList(ParmList *);
extern ParmList  *CopyParmListMax(ParmList *, int count);
extern int        ParmList_len(ParmList *);
extern int        ParmList_numrequired(ParmList *);
extern int        ParmList_has_defaultargs(ParmList *p);
extern int        ParmList_has_varargs(ParmList *p);

/* Output functions */
extern String    *ParmList_str(ParmList *);
extern String    *ParmList_str_defaultargs(ParmList *);
extern String    *ParmList_str_multibrackets(ParmList *);
extern String    *ParmList_protostr(ParmList *);