diff options
Diffstat (limited to 'Examples/test-suite/python_autodoc.i')
| -rw-r--r-- | Examples/test-suite/python_autodoc.i | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/Examples/test-suite/python_autodoc.i b/Examples/test-suite/python_autodoc.i new file mode 100644 index 0000000..c363e43 --- /dev/null +++ b/Examples/test-suite/python_autodoc.i @@ -0,0 +1,95 @@ +%module(docstring="hello") python_autodoc + +%feature("autodoc"); + +// especial typemap and its docs +%typemap(in) (int c, int d) "$1 =0; $2 = 0;"; +%typemap(doc,name="hello",type="Tuple") (int c, int d) "hello: int tuple[2]"; + +// testing for different documentation levels +%feature("autodoc","0") A::func0; // names +%feature("autodoc","1") A::func1; // names + types +%feature("autodoc","2") A::func2; // extended +%feature("autodoc","3") A::func3; // extended + types + +%feature("autodoc","just a string") A::func; // names + +%inline { + + enum Hola { + hi, hello + }; + + struct A + { + A(int a, short b, Hola h) + { + } + + int func(int a) + { + return a; + } + + int func0(int c, int d) + { + return c; + } + + int func1(int c, int d) + { + return c; + } + + int func2(A* c, double d = 2) + { + return 2; + } + + int func3(A* c, double d = 2) + { + return 2; + } + }; +} + + +// deleting typemaps and docs +%typemap(in) (int c, int d) ; +%typemap(doc) (int c, int d); + +// docs for some parameters +%typemap(doc) int a "a: special comment for parameter a"; +%typemap(doc) int b "b: another special comment for parameter b"; + +%callback(1) func_cb; + +%inline { + + struct B + { + B(int a, int b, Hola h) + { + } + + + int func(int c, int d) + { + return c; + } + + }; + + int func(int c, int d) { + return c; + } + + int funcio(int *INOUT) { + return 1; + } + + int func_cb(int c, int d) { + return c; + } + +} |
