File: autodoc.i

package info (click to toggle)
swig1.3 1.3.24-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 19,336 kB
  • ctags: 10,604
  • sloc: cpp: 27,917; ansic: 24,160; yacc: 4,412; python: 4,255; java: 4,156; makefile: 3,735; sh: 3,552; cs: 2,250; ruby: 2,150; lisp: 1,605; tcl: 1,136; perl: 980; php: 879; ml: 825
file content (95 lines) | stat: -rw-r--r-- 1,468 bytes parent folder | download
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
%module 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";

%pythoncallback(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;
  }
  
}