/
usr
/
share
/
swig
/
3.0.12
/
/usr/share/swig/3.0.12
mkdir
upload
Name
Size
Mode
Actions
allegrocl/
-
0755
rm
cffi/
-
0755
rm
chicken/
-
0755
rm
clisp/
-
0755
rm
csharp/
-
0755
rm
d/
-
0755
rm
gcj/
-
0755
rm
go/
-
0755
rm
guile/
-
0755
rm
java/
-
0755
rm
javascript/
-
0755
rm
lua/
-
0755
rm
modula3/
-
0755
rm
mzscheme/
-
0755
rm
ocaml/
-
0755
rm
octave/
-
0755
rm
perl5/
-
0755
rm
php/
-
0755
rm
php5/
-
0755
rm
pike/
-
0755
rm
python/
-
0755
rm
r/
-
0755
rm
ruby/
-
0755
rm
scilab/
-
0755
rm
std/
-
0755
rm
tcl/
-
0755
rm
typemaps/
-
0755
rm
uffi/
-
0755
rm
allkw.swg
803
0644
edit
dl
rm
attribute.i
496
0644
edit
dl
rm
carrays.i
2646
0644
edit
dl
rm
cdata.i
3181
0644
edit
dl
rm
cmalloc.i
2354
0644
edit
dl
rm
constraints.i
7047
0644
edit
dl
rm
cpointer.i
3551
0644
edit
dl
rm
cstring.i
324
0644
edit
dl
rm
cwstring.i
265
0644
edit
dl
rm
director_common.swg
512
0644
edit
dl
rm
exception.i
8254
0644
edit
dl
rm
intrusive_ptr.i
2814
0644
edit
dl
rm
inttypes.i
2380
0644
edit
dl
rm
math.i
2086
0644
edit
dl
rm
pointer.i
294
0644
edit
dl
rm
runtime.swg
1236
0644
edit
dl
rm
shared_ptr.i
2686
0644
edit
dl
rm
stdint.i
2368
0644
edit
dl
rm
std_except.i
2077
0644
edit
dl
rm
stl.i
249
0644
edit
dl
rm
swig.swg
24840
0644
edit
dl
rm
swigarch.i
1580
0644
edit
dl
rm
swigerrors.swg
499
0644
edit
dl
rm
swiginit.swg
7973
0644
edit
dl
rm
swiglabels.swg
3800
0644
edit
dl
rm
swigrun.i
256
0644
edit
dl
rm
swigrun.swg
16662
0644
edit
dl
rm
swigwarn.swg
14291
0644
edit
dl
rm
swigwarnings.swg
7094
0644
edit
dl
rm
wchar.i
309
0644
edit
dl
rm
windows.i
4143
0644
edit
dl
rm
Edit:
/usr/share/swig/3.0.12/constraints.i
(7047B)
/* ----------------------------------------------------------------------------- * constraints.i * * SWIG constraints library. * * SWIG library file containing typemaps for implementing various kinds of * constraints. Depends upon the SWIG exception library for generating * errors in a language-independent manner. * ----------------------------------------------------------------------------- */ #ifdef AUTODOC %text %{ %include <constraints.i> This library provides support for applying constraints to function arguments. Using a constraint, you can restrict arguments to be positive numbers, non-NULL pointers, and so on. The following constraints are available : Number POSITIVE - Positive number (not zero) Number NEGATIVE - Negative number (not zero) Number NONZERO - Nonzero number Number NONNEGATIVE - Positive number (including zero) Number NONPOSITIVE - Negative number (including zero) Pointer NONNULL - Non-NULL pointer Pointer ALIGN8 - 8-byte aligned pointer Pointer ALIGN4 - 4-byte aligned pointer Pointer ALIGN2 - 2-byte aligned pointer To use the constraints, you need to "apply" them to specific function arguments in your code. This is done using the %apply directive. For example : %apply Number NONNEGATIVE { double nonneg }; double sqrt(double nonneg); // Name of argument must match %apply Pointer NONNULL { void *ptr }; void *malloc(int POSITIVE); // May return a NULL pointer void free(void *ptr); // May not accept a NULL pointer Any function argument of the type you specify with the %apply directive will be checked with the appropriate constraint. Multiple types may be specified as follows : %apply Pointer NONNULL { void *, Vector *, List *, double *}; In this case, all of the types listed would be checked for non-NULL pointers. The common datatypes of int, short, long, unsigned int, unsigned long, unsigned short, unsigned char, signed char, float, and double can be checked without using the %apply directive by simply using the constraint name as the parameter name. For example : double sqrt(double NONNEGATIVE); double log(double POSITIVE); If you have used typedef to change type-names, you can also do this : %apply double { Real }; // Make everything defined for doubles // work for Reals. Real sqrt(Real NONNEGATIVE); Real log(Real POSITIVE); %} #endif %include <exception.i> #ifdef SWIGCSHARP // Required attribute for C# exception handling #define SWIGCSHARPCANTHROW , canthrow=1 #else #define SWIGCSHARPCANTHROW #endif // Positive numbers %typemap(check SWIGCSHARPCANTHROW) int POSITIVE, short POSITIVE, long POSITIVE, unsigned int POSITIVE, unsigned short POSITIVE, unsigned long POSITIVE, signed char POSITIVE, unsigned char POSITIVE, float POSITIVE, double POSITIVE, Number POSITIVE { if ($1 <= 0) { SWIG_exception(SWIG_ValueError,"Expected a positive value."); } } // Negative numbers %typemap(check SWIGCSHARPCANTHROW) int NEGATIVE, short NEGATIVE, long NEGATIVE, unsigned int NEGATIVE, unsigned short NEGATIVE, unsigned long NEGATIVE, signed char NEGATIVE, unsigned char NEGATIVE, float NEGATIVE, double NEGATIVE, Number NEGATIVE { if ($1 >= 0) { SWIG_exception(SWIG_ValueError,"Expected a negative value."); } } // Nonzero numbers %typemap(check SWIGCSHARPCANTHROW) int NONZERO, short NONZERO, long NONZERO, unsigned int NONZERO, unsigned short NONZERO, unsigned long NONZERO, signed char NONZERO, unsigned char NONZERO, float NONZERO, double NONZERO, Number NONZERO { if ($1 == 0) { SWIG_exception(SWIG_ValueError,"Expected a nonzero value."); } } // Nonnegative numbers %typemap(check SWIGCSHARPCANTHROW) int NONNEGATIVE, short NONNEGATIVE, long NONNEGATIVE, unsigned int NONNEGATIVE, unsigned short NONNEGATIVE, unsigned long NONNEGATIVE, signed char NONNEGATIVE, unsigned char NONNEGATIVE, float NONNEGATIVE, double NONNEGATIVE, Number NONNEGATIVE { if ($1 < 0) { SWIG_exception(SWIG_ValueError,"Expected a non-negative value."); } } // Nonpositive numbers %typemap(check SWIGCSHARPCANTHROW) int NONPOSITIVE, short NONPOSITIVE, long NONPOSITIVE, unsigned int NONPOSITIVE, unsigned short NONPOSITIVE, unsigned long NONPOSITIVE, signed char NONPOSITIVE, unsigned char NONPOSITIVE, float NONPOSITIVE, double NONPOSITIVE, Number NONPOSITIVE { if ($1 > 0) { SWIG_exception(SWIG_ValueError,"Expected a non-positive value."); } } // Non-NULL pointer %typemap(check SWIGCSHARPCANTHROW) void * NONNULL, Pointer NONNULL { if (!$1) { SWIG_exception(SWIG_ValueError,"Received a NULL pointer."); } } // Aligned pointers %typemap(check SWIGCSHARPCANTHROW) void * ALIGN8, Pointer ALIGN8 { unsigned long long tmp; tmp = (unsigned long long) $1; if (tmp & 7) { SWIG_exception(SWIG_ValueError,"Pointer must be 8-byte aligned."); } } %typemap(check SWIGCSHARPCANTHROW) void * ALIGN4, Pointer ALIGN4 { unsigned long long tmp; tmp = (unsigned long long) $1; if (tmp & 3) { SWIG_exception(SWIG_ValueError,"Pointer must be 4-byte aligned."); } } %typemap(check SWIGCSHARPCANTHROW) void * ALIGN2, Pointer ALIGN2 { unsigned long long tmp; tmp = (unsigned long long) $1; if (tmp & 1) { SWIG_exception(SWIG_ValueError,"Pointer must be 2-byte aligned."); } }
Save
cmd:
run