/trunk/Examples/test-suite/varargs_overload.i
Swig | 44 lines | 40 code | 4 blank | 0 comment | 0 complexity | 57c125e173b847ac9e2d2da8c6de8482 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- // Tests SWIG's *default* handling of overloading varargs (function varargs, not preprocessor varargs).
- // The default behavior is to simply ignore the varargs.
- %module varargs_overload
- %inline %{
- const char *vararg_over1(const char *fmt, ...) {
- return fmt;
- }
- const char *vararg_over1(int i) {
- static char buffer[256];
- sprintf(buffer, "%d", i);
- return buffer;
- }
- const char *vararg_over2(const char *fmt, ...) {
- return fmt;
- }
- const char *vararg_over2(int i, double j) {
- static char buffer[256];
- sprintf(buffer, "%d %g", i, j);
- return buffer;
- }
- const char *vararg_over3(const char *fmt, ...) {
- return fmt;
- }
- const char *vararg_over3(int i, double j, const char *s) {
- static char buffer[256];
- sprintf(buffer, "%d %g %s", i, j, s);
- return buffer;
- }
- %}
- %varargs(int mode = 0) vararg_over4;
- %inline %{
- const char *vararg_over4(const char *fmt, ...) {
- return fmt;
- }
- const char *vararg_over4(int i) {
- static char buffer[256];
- sprintf(buffer, "%d", i);
- return buffer;
- }
- %}