From e49611443e8c01b15533abcda251e894a59cf1ad Mon Sep 17 00:00:00 2001 From: Marcelo Matus Date: Sat, 6 Nov 2004 23:18:45 +0000 Subject: [PATCH] back to typemaps for size_t/ptrdiff_t. typedes don't work with std::vector git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6682 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- .../test-suite/python/li_std_vector.i | 2 ++ SWIG/Lib/python/pymisctypes.swg | 19 +++++++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/SWIG/Examples/test-suite/python/li_std_vector.i b/SWIG/Examples/test-suite/python/li_std_vector.i index cdd2c2b55..bdec7fb20 100644 --- a/SWIG/Examples/test-suite/python/li_std_vector.i +++ b/SWIG/Examples/test-suite/python/li_std_vector.i @@ -18,6 +18,8 @@ namespace std { %template(DoubleVector) std::vector; +%template(SizeVector) std::vector; + %inline %{ typedef float Real; %} diff --git a/SWIG/Lib/python/pymisctypes.swg b/SWIG/Lib/python/pymisctypes.swg index e95244d14..d782abb8a 100644 --- a/SWIG/Lib/python/pymisctypes.swg +++ b/SWIG/Lib/python/pymisctypes.swg @@ -3,14 +3,21 @@ * --- ANSI/Posix C/C++ types --- * ------------------------------------------------------------ */ -typedef unsigned long size_t; -typedef long ptrdiff_t; +%apply unsigned long { size_t }; +%apply const unsigned long& { const size_t& }; +%apply unsigned long& { size_t& }; + +%apply long { ptrdiff_t }; +%apply const long& { const ptrdiff_t& }; +%apply long& { ptrdiff_t& }; #ifdef __cplusplus -namespace std { - typedef unsigned long size_t; - typedef long ptrdiff_t; -} +%apply unsigned long { std::size_t }; +%apply const unsigned long& { const std::size_t& }; +%apply unsigned long& { std::size_t& }; +%apply long { std::ptrdiff_t }; +%apply const long& { const std::ptrdiff_t& }; +%apply long& { std::ptrdiff_t& }; #endif