aboutsummaryrefslogtreecommitdiff
path: root/Lib/tcl/std_vector.i
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/tcl/std_vector.i')
-rw-r--r--Lib/tcl/std_vector.i85
1 files changed, 43 insertions, 42 deletions
diff --git a/Lib/tcl/std_vector.i b/Lib/tcl/std_vector.i
index 5fba5379f..f950ee3fd 100644
--- a/Lib/tcl/std_vector.i
+++ b/Lib/tcl/std_vector.i
@@ -34,11 +34,11 @@
%{
#include <vector>
-Tcl_Obj* SwigString_FromString(const std::string &s) {
- return Tcl_NewStringObj(s.data(), (int)s.length());
+SWIGINTERN Tcl_Obj* SwigString_FromString(const std::string &s) {
+ return Tcl_NewStringObj(s.data(), (Tcl_Size)s.length());
}
-int Tcl_GetBoolFromObj(Tcl_Interp *interp, Tcl_Obj *o, bool *val) {
+SWIGINTERN int SWIG_Tcl_GetBoolFromObj(Tcl_Interp *interp, Tcl_Obj *o, bool *val) {
int v;
int res = Tcl_GetBooleanFromObj(interp, o, &v);
if (res == TCL_OK) {
@@ -47,9 +47,10 @@ int Tcl_GetBoolFromObj(Tcl_Interp *interp, Tcl_Obj *o, bool *val) {
return res;
}
-int SwigString_AsString(Tcl_Interp *interp, Tcl_Obj *o, std::string *val) {
- int len;
+SWIGINTERN int SwigString_AsString(Tcl_Interp *interp, Tcl_Obj *o, std::string *val) {
+ Tcl_Size len;
const char* temp = Tcl_GetStringFromObj(o, &len);
+ (void)interp;
if (temp == NULL)
return TCL_ERROR;
val->assign(temp, len);
@@ -84,16 +85,16 @@ namespace std {
template<class T> class vector {
%typemap(in) vector< T > (std::vector< T > *v) {
Tcl_Obj **listobjv;
- int nitems;
- int i;
+ Tcl_Size nitems;
+ Tcl_Size i;
T* temp;
- if (SWIG_ConvertPtr($input, (void **) &v, \
+ if (SWIG_ConvertPtr($input, (void **) &v,
$&1_descriptor, 0) == 0){
$1 = *v;
} else {
// It isn't a vector< T > so it should be a list of T's
- if(Tcl_ListObjGetElements(interp, $input, \
+ if(Tcl_ListObjGetElements(interp, $input,
&nitems, &listobjv) == TCL_ERROR)
return TCL_ERROR;
$1 = std::vector< T >();
@@ -113,12 +114,12 @@ namespace std {
%typemap(in) const vector< T >* (std::vector< T > *v, std::vector< T > w),
const vector< T >& (std::vector< T > *v, std::vector< T > w) {
Tcl_Obj **listobjv;
- int nitems;
- int i;
+ Tcl_Size nitems;
+ Tcl_Size i;
T* temp;
- if(SWIG_ConvertPtr($input, (void **) &v, \
- $&1_descriptor, 0) == 0) {
+ if(SWIG_ConvertPtr($input, (void **) &v,
+ $1_descriptor, 0) == 0) {
$1 = v;
} else {
// It isn't a vector< T > so it should be a list of T's
@@ -143,7 +144,7 @@ namespace std {
%typemap(out) vector< T > {
for (unsigned int i=0; i<$1.size(); i++) {
T* ptr = new T((($1_type &)$1)[i]);
- Tcl_ListObjAppendElement(interp, $result, \
+ Tcl_ListObjAppendElement(interp, $result,
SWIG_NewInstanceObj(ptr,
$descriptor(T *),
0));
@@ -152,11 +153,11 @@ namespace std {
%typecheck(SWIG_TYPECHECK_VECTOR) vector< T > {
Tcl_Obj **listobjv;
- int nitems;
+ Tcl_Size nitems;
T* temp;
std::vector< T > *v;
- if(SWIG_ConvertPtr($input, (void **) &v, \
+ if(SWIG_ConvertPtr($input, (void **) &v,
$&1_descriptor, 0) == 0) {
/* wrapped vector */
$1 = 1;
@@ -168,7 +169,7 @@ namespace std {
else
if (nitems == 0)
$1 = 1;
- //check the first value to see if it is of correct type
+ //check the first value to see if it is of correct type
else if ((SWIG_ConvertPtr(listobjv[0],
(void **) &temp,
$descriptor(T *),0)) != 0)
@@ -181,11 +182,11 @@ namespace std {
%typecheck(SWIG_TYPECHECK_VECTOR) const vector< T >&,
const vector< T >* {
Tcl_Obj **listobjv;
- int nitems;
+ Tcl_Size nitems;
T* temp;
std::vector< T > *v;
- if(SWIG_ConvertPtr($input, (void **) &v, \
+ if(SWIG_ConvertPtr($input, (void **) &v,
$1_descriptor, 0) == 0){
/* wrapped vector */
$1 = 1;
@@ -197,7 +198,7 @@ namespace std {
else
if (nitems == 0)
$1 = 1;
- //check the first value to see if it is of correct type
+ //check the first value to see if it is of correct type
else if ((SWIG_ConvertPtr(listobjv[0],
(void **) &temp,
$descriptor(T *),0)) != 0)
@@ -260,11 +261,11 @@ namespace std {
%typemap(in) vector< T > (std::vector< T > *v){
Tcl_Obj **listobjv;
- int nitems;
- int i;
+ Tcl_Size nitems;
+ Tcl_Size i;
T temp;
- if(SWIG_ConvertPtr($input, (void **) &v, \
+ if(SWIG_ConvertPtr($input, (void **) &v,
$&1_descriptor, 0) == 0) {
$1 = *v;
} else {
@@ -284,11 +285,11 @@ namespace std {
%typemap(in) const vector< T >& (std::vector< T > *v,std::vector< T > w),
const vector< T >* (std::vector< T > *v,std::vector< T > w) {
Tcl_Obj **listobjv;
- int nitems;
- int i;
+ Tcl_Size nitems;
+ Tcl_Size i;
T temp;
- if(SWIG_ConvertPtr($input, (void **) &v, \
+ if(SWIG_ConvertPtr($input, (void **) &v,
$1_descriptor, 0) == 0) {
$1 = v;
} else {
@@ -308,18 +309,18 @@ namespace std {
%typemap(out) vector< T > {
for (unsigned int i=0; i<$1.size(); i++) {
- Tcl_ListObjAppendElement(interp, $result, \
+ Tcl_ListObjAppendElement(interp, $result,
CONVERT_TO((($1_type &)$1)[i]));
}
}
%typecheck(SWIG_TYPECHECK_VECTOR) vector< T > {
Tcl_Obj **listobjv;
- int nitems;
+ Tcl_Size nitems;
T temp;
std::vector< T > *v;
- if(SWIG_ConvertPtr($input, (void **) &v, \
+ if(SWIG_ConvertPtr($input, (void **) &v,
$&1_descriptor, 0) == 0){
/* wrapped vector */
$1 = 1;
@@ -331,22 +332,22 @@ namespace std {
else
if (nitems == 0)
$1 = 1;
- //check the first value to see if it is of correct type
- if (CONVERT_FROM(interp, listobjv[0], &temp) == TCL_ERROR)
- $1 = 0;
- else
- $1 = 1;
+ //check the first value to see if it is of correct type
+ else if (CONVERT_FROM(interp, listobjv[0], &temp) == TCL_ERROR)
+ $1 = 0;
+ else
+ $1 = 1;
}
}
%typecheck(SWIG_TYPECHECK_VECTOR) const vector< T >&,
const vector< T >*{
Tcl_Obj **listobjv;
- int nitems;
+ Tcl_Size nitems;
T temp;
std::vector< T > *v;
- if(SWIG_ConvertPtr($input, (void **) &v, \
+ if(SWIG_ConvertPtr($input, (void **) &v,
$1_descriptor, 0) == 0){
/* wrapped vector */
$1 = 1;
@@ -358,11 +359,11 @@ namespace std {
else
if (nitems == 0)
$1 = 1;
- //check the first value to see if it is of correct type
- if (CONVERT_FROM(interp, listobjv[0], &temp) == TCL_ERROR)
- $1 = 0;
- else
- $1 = 1;
+ //check the first value to see if it is of correct type
+ else if (CONVERT_FROM(interp, listobjv[0], &temp) == TCL_ERROR)
+ $1 = 0;
+ else
+ $1 = 1;
}
}
@@ -412,7 +413,7 @@ namespace std {
};
%enddef
- specialize_std_vector(bool, Tcl_GetBoolFromObj, Tcl_NewBooleanObj);
+ specialize_std_vector(bool, SWIG_Tcl_GetBoolFromObj, Tcl_NewBooleanObj);
specialize_std_vector(char, SwigInt_As<char>,Tcl_NewIntObj);
specialize_std_vector(int, Tcl_GetIntFromObj,Tcl_NewIntObj);
specialize_std_vector(short, SwigInt_As<short>, Tcl_NewIntObj);