merge from trunk
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-sploving@11627 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
commit
b6b2fce6ae
103 changed files with 893 additions and 786 deletions
|
|
@ -2173,7 +2173,7 @@ reference to be used as a char ** datatype.
|
|||
};
|
||||
myav = av_make(len,svs);
|
||||
free(svs);
|
||||
$result = newRV((SV*)myav);
|
||||
$result = newRV_noinc((SV*)myav);
|
||||
sv_2mortal($result);
|
||||
argvi++;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -667,7 +667,6 @@ enum boolean {NO=0, YES=1};
|
|||
enum months {JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG,
|
||||
SEP, OCT, NOV, DEC};
|
||||
%constant double BLAH = 42.37;
|
||||
#define F_CONST (double) 5 // A floating pointer constant with cast
|
||||
#define PI_4 PI/4
|
||||
#define FLAGS 0x04 | 0x08 | 0x40
|
||||
|
||||
|
|
@ -706,8 +705,15 @@ the declaration
|
|||
<p>
|
||||
defines a constant because <tt>PI</tt> was already defined as a
|
||||
constant and the value is known.
|
||||
However, for the same conservative reasons even a constant with a simple cast will be ignored, such as
|
||||
</p>
|
||||
|
||||
<div class="code">
|
||||
<pre>
|
||||
#define F_CONST (double) 5 // A floating pointer constant with cast
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The use of constant expressions is allowed, but SWIG does not evaluate
|
||||
them. Rather, it passes them through to the output file and lets the C
|
||||
|
|
@ -2382,6 +2388,10 @@ You can make a <tt>Vector</tt> look a lot like a class by writing a SWIG interfa
|
|||
<p>
|
||||
Note the usage of the <tt>$self</tt> special variable.
|
||||
Its usage is identical to a C++ 'this' pointer and should be used whenever access to the struct instance is required.
|
||||
Also note that C++ constructor and destructor syntax has been used to simulate a constructor and destructor, even for C code.
|
||||
There is one subtle difference to a normal C++ constructor implementation though and that is although the constructor declaration
|
||||
is as per a normal C++ constructor, the newly constructed object must be returned <b>as if</b> the constructor declaration
|
||||
had a return value, a <tt>Vector *</tt> in this case.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
|
@ -2706,6 +2716,10 @@ initialization code (in that order).
|
|||
</p>
|
||||
|
||||
<ul>
|
||||
<li><b>Begin section</b>. <br>
|
||||
A placeholder to put code at the beginning of the C/C++ wrapper file.
|
||||
</li>
|
||||
|
||||
<li><b>Runtime code</b>. <br>
|
||||
This code is internal to SWIG and is used to include
|
||||
type-checking and other support functions that are used by the rest of the module.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue