long long typemap mods for using with %apply by compilers that don't understand long long
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4502 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
c172b2e5e6
commit
6ab0796609
2 changed files with 32 additions and 14 deletions
|
|
@ -31,10 +31,13 @@ you would use a real value instead.
|
|||
int *INPUT
|
||||
short *INPUT
|
||||
long *INPUT
|
||||
long long *INPUT
|
||||
unsigned int *INPUT
|
||||
unsigned short *INPUT
|
||||
unsigned long *INPUT
|
||||
unsigned long long *INPUT
|
||||
unsigned char *INPUT
|
||||
bool *INPUT
|
||||
float *INPUT
|
||||
double *INPUT
|
||||
|
||||
|
|
@ -79,14 +82,14 @@ INPUT_TYPEMAP(unsigned char, SvUV);
|
|||
INPUT_TYPEMAP(bool, SvIV);
|
||||
|
||||
|
||||
%typemap(in) long long *INPUT(long long temp), long long &INPUT(long long temp) {
|
||||
%typemap(in) long long *INPUT($*1_ltype temp), long long &INPUT($*1_ltype temp) {
|
||||
temp = strtoll(SvPV($input,PL_na), 0, 0);
|
||||
$1 = &temp;
|
||||
}
|
||||
%typemap(typecheck) long long *INPUT = long long;
|
||||
%typemap(typecheck) long long &INPUT = long long;
|
||||
|
||||
%typemap(in) unsigned long long *INPUT(unsigned long long temp), unsigned long long &INPUT(unsigned long long temp) {
|
||||
%typemap(in) unsigned long long *INPUT($*1_ltype temp), unsigned long long &INPUT($*1_ltype temp) {
|
||||
temp = strtoull(SvPV($input,PL_na), 0, 0);
|
||||
$1 = &temp;
|
||||
}
|
||||
|
|
@ -109,10 +112,13 @@ multiple output values, functions will return a Perl array.
|
|||
int *OUTPUT
|
||||
short *OUTPUT
|
||||
long *OUTPUT
|
||||
long long *OUTPUT
|
||||
unsigned int *OUTPUT
|
||||
unsigned short *OUTPUT
|
||||
unsigned long *OUTPUT
|
||||
unsigned long long *OUTPUT
|
||||
unsigned char *OUTPUT
|
||||
bool *OUTPUT
|
||||
float *OUTPUT
|
||||
double *OUTPUT
|
||||
|
||||
|
|
@ -151,8 +157,8 @@ output values.
|
|||
bool *OUTPUT(bool temp), bool &OUTPUT(bool temp),
|
||||
float *OUTPUT(float temp), float &OUTPUT(float temp),
|
||||
double *OUTPUT(double temp), double &OUTPUT(double temp),
|
||||
long long *OUTPUT(long long temp), long long &OUTPUT(long long temp),
|
||||
unsigned long long *OUTPUT(unsigned long long temp), unsigned long long &OUTPUT(unsigned long long temp)
|
||||
long long *OUTPUT($*1_ltype temp), long long &OUTPUT($*1_ltype temp),
|
||||
unsigned long long *OUTPUT($*1_ltype temp), unsigned long long &OUTPUT($*1_ltype temp)
|
||||
"$1 = &temp;";
|
||||
|
||||
%typemap(argout) int *OUTPUT, int &OUTPUT,
|
||||
|
|
@ -230,10 +236,13 @@ returned in the form of a Perl array.
|
|||
int *INOUT
|
||||
short *INOUT
|
||||
long *INOUT
|
||||
long long *INOUT
|
||||
unsigned int *INOUT
|
||||
unsigned short *INOUT
|
||||
unsigned long *INOUT
|
||||
unsigned long long *INOUT
|
||||
unsigned char *INOUT
|
||||
bool *INOUT
|
||||
float *INOUT
|
||||
double *INOUT
|
||||
|
||||
|
|
|
|||
|
|
@ -28,10 +28,13 @@ you would use a real value instead.
|
|||
int *INPUT
|
||||
short *INPUT
|
||||
long *INPUT
|
||||
long long *INPUT
|
||||
unsigned int *INPUT
|
||||
unsigned short *INPUT
|
||||
unsigned long *INPUT
|
||||
unsigned long long *INPUT
|
||||
unsigned char *INPUT
|
||||
bool *INPUT
|
||||
float *INPUT
|
||||
double *INPUT
|
||||
|
||||
|
|
@ -157,17 +160,17 @@ or you can use the %apply directive :
|
|||
$1 = &temp;
|
||||
}
|
||||
|
||||
%typemap(in) long long *INPUT(long long temp),
|
||||
long long &INPUT(long long temp)
|
||||
%typemap(in) long long *INPUT($*1_ltype temp),
|
||||
long long &INPUT($*1_ltype temp)
|
||||
{
|
||||
temp = (long long) strtoll(Tcl_GetStringFromObj($input,NULL),0,0);
|
||||
temp = ($*1_ltype) strtoll(Tcl_GetStringFromObj($input,NULL),0,0);
|
||||
$1 = &temp;
|
||||
}
|
||||
|
||||
%typemap(in) unsigned long long *INPUT(unsigned long long temp),
|
||||
unsigned long long &INPUT(unsigned long long temp)
|
||||
%typemap(in) unsigned long long *INPUT($*1_ltype temp),
|
||||
unsigned long long &INPUT($*1_ltype temp)
|
||||
{
|
||||
temp = (long long) strtoull(Tcl_GetStringFromObj($input,NULL),0,0);
|
||||
temp = ($*1_ltype) strtoull(Tcl_GetStringFromObj($input,NULL),0,0);
|
||||
$1 = &temp;
|
||||
}
|
||||
|
||||
|
|
@ -184,10 +187,13 @@ multiple output values, they are returned in the form of a Tcl list.
|
|||
int *OUTPUT
|
||||
short *OUTPUT
|
||||
long *OUTPUT
|
||||
long long *OUTPUT
|
||||
unsigned int *OUTPUT
|
||||
unsigned short *OUTPUT
|
||||
unsigned long *OUTPUT
|
||||
unsigned long long *OUTPUT
|
||||
unsigned char *OUTPUT
|
||||
bool *OUTPUT
|
||||
float *OUTPUT
|
||||
double *OUTPUT
|
||||
|
||||
|
|
@ -224,8 +230,8 @@ output values.
|
|||
bool *OUTPUT(bool temp),
|
||||
float *OUTPUT(float temp),
|
||||
double *OUTPUT(double temp),
|
||||
long long *OUTPUT(long long temp),
|
||||
unsigned long long *OUTPUT(unsigned long long temp),
|
||||
long long *OUTPUT($*1_ltype temp),
|
||||
unsigned long long *OUTPUT($*1_ltype temp),
|
||||
int &OUTPUT(int temp),
|
||||
short &OUTPUT(short temp),
|
||||
long &OUTPUT(long temp),
|
||||
|
|
@ -237,8 +243,8 @@ output values.
|
|||
unsigned char &OUTPUT(unsigned char temp),
|
||||
float &OUTPUT(float temp),
|
||||
double &OUTPUT(double temp),
|
||||
long long &OUTPUT(long long temp),
|
||||
unsigned long long &OUTPUT(unsigned long long temp)
|
||||
long long &OUTPUT($*1_ltype temp),
|
||||
unsigned long long &OUTPUT($*1_ltype temp)
|
||||
"$1 = &temp;";
|
||||
|
||||
%typemap(argout) int *OUTPUT, int &OUTPUT,
|
||||
|
|
@ -295,10 +301,13 @@ returned in the form of a Tcl list.
|
|||
int *INOUT
|
||||
short *INOUT
|
||||
long *INOUT
|
||||
long long *INOUT
|
||||
unsigned int *INOUT
|
||||
unsigned short *INOUT
|
||||
unsigned long *INOUT
|
||||
unsigned long long *INOUT
|
||||
unsigned char *INOUT
|
||||
bool *INOUT
|
||||
float *INOUT
|
||||
double *INOUT
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue