last performance improvements, and typemaps fixes

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7865 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2005-11-24 09:20:24 +00:00
commit 726de6fc52
5 changed files with 164 additions and 46 deletions

View file

@ -303,13 +303,17 @@
#define SWIG_AsVal_frag(Type...) %fragment_name(AsVal, Type)
#define SWIG_From_frag(Type...) %fragment_name(From, Type)
#define SWIG_AsVal_dec(Type...) %symbol_name(AsVal, Type) SWIG_AS_DECL_ARGS
#define SWIG_AsPtr_dec(Type...) %symbol_name(AsPtr, Type) SWIG_AS_DECL_ARGS
#define SWIG_From_dec(Type...) %symbol_name(From, Type) SWIG_FROM_DECL_ARGS
#define SWIG_AsVal_name(Type...) %symbol_name(AsVal, Type)
#define SWIG_AsPtr_name(Type...) %symbol_name(AsPtr, Type)
#define SWIG_From_name(Type...) %symbol_name(From, Type)
#define SWIG_AsVal(Type...) %symbol_name(AsVal, Type) SWIG_AS_CALL_ARGS
#define SWIG_AsPtr(Type...) %symbol_name(AsPtr, Type) SWIG_AS_CALL_ARGS
#define SWIG_From(Type...) %symbol_name(From, Type) SWIG_FROM_CALL_ARGS
#define SWIG_AsVal_dec(Type...) SWIG_AsVal_name(Type) SWIG_AS_DECL_ARGS
#define SWIG_AsPtr_dec(Type...) SWIG_AsPtr_name(Type) SWIG_AS_DECL_ARGS
#define SWIG_From_dec(Type...) SWIG_From_name(Type) SWIG_FROM_DECL_ARGS
#define SWIG_AsVal(Type...) SWIG_AsVal_name(Type) SWIG_AS_CALL_ARGS
#define SWIG_AsPtr(Type...) SWIG_AsPtr_name(Type) SWIG_AS_CALL_ARGS
#define SWIG_From(Type...) SWIG_From_name(Type) SWIG_FROM_CALL_ARGS
/* ------------------------------------------------------------
* common fragments

View file

@ -6,14 +6,16 @@
#ifdef __cplusplus
namespace std
{
typedef ::ptrdiff_t ptrdiff_t;
typedef ::size_t size_t;
}
%apply size_t { std::size_t };
%apply const size_t& { const std::size_t& };
%apply ptrdiff_t { std::ptrdiff_t };
%apply const ptrdiff_t& { const std::ptrdiff_t& };
#ifndef SWIG_INOUT_NODEF
%apply size_t& { std::size_t& };
%apply ptrdiff_t& { std::ptrdiff_t& };
#endif
#endif

View file

@ -164,4 +164,7 @@ phased out in future releases.
%apply_checkctypes(%typemaps_inoutn)
%apply size_t& { std::size_t& };
%apply ptrdiff_t& { std::ptrdiff_t& };
#endif