diff options
author | Leif Middelschulte <leif.middelschulte@gmail.com> | 2012-08-19 21:08:12 +0000 |
---|---|---|
committer | Leif Middelschulte <leif.middelschulte@gmail.com> | 2012-08-19 21:08:12 +0000 |
commit | f9c0e104e681b9144701242100f5ca59186ce09c (patch) | |
tree | 6eac87556aedc083012f7a1418c11710d23e89b7 | |
parent | 89725492f2e50c8706f80790ed3c740bf080c08a (diff) | |
download | swig-f9c0e104e681b9144701242100f5ca59186ce09c.tar.gz |
Move '[const] T const **' and 'size_t' of 'in' typemap into macros
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13671 626c5289-ae23-0410-ae9c-e8d60b6d4f22
-rw-r--r-- | Lib/c/c.swg | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/Lib/c/c.swg b/Lib/c/c.swg index f73897042..270dadfdf 100644 --- a/Lib/c/c.swg +++ b/Lib/c/c.swg @@ -134,7 +134,7 @@ PRE short POST, PRE int POST, PRE long POST, PRE long long POST, PRE char POST, //this macro is necessary, because 'unsigned double' is not allowed. %define in_assignment_cast_unsigned_only(PRE, POST) -PRE float POST, PRE double POST, PRE signed char POST "$1 = ($1_ltype) $input;" +PRE float POST, PRE double POST, PRE signed char POST, PRE size_t POST "$1 = ($1_ltype) $input;" %enddef %define in_assignment_group(PRE) @@ -144,6 +144,7 @@ in_assignment_cast(PRE,&); in_assignment_cast(PRE,[ANY]); in_assignment_cast(PRE,*&); in_assignment_cast(PRE,**); +in_assignment_cast(PRE,** const); %enddef in_assignment_group(); @@ -157,30 +158,18 @@ in_assignment_cast_unsigned_only(,&); in_assignment_cast_unsigned_only(,[ANY]); in_assignment_cast_unsigned_only(,**); in_assignment_cast_unsigned_only(,*&); +in_assignment_cast_unsigned_only(,** const); in_assignment_cast_unsigned_only(const,); in_assignment_cast_unsigned_only(const,*); in_assignment_cast_unsigned_only(const,&); in_assignment_cast_unsigned_only(const,[ANY]); in_assignment_cast_unsigned_only(const,*&); +in_assignment_cast_unsigned_only(const,**); +in_assignment_cast_unsigned_only(const,** const); %typemap(in) short [ANY], int [ANY], long [ANY], long long [ANY], char [ANY], float [ANY], double [ANY], unsigned char [ANY] "$1 = ($1_basetype *) $input;" %typemap(in) short * [ANY], int * [ANY], long * [ANY], long long * [ANY], char * [ANY], float * [ANY], double * [ANY] "$1 = ($1_basetype *) $input;" -// constant pointers -%typemap(in) short* * const, int* * const, long* * const, long long* * const, char* * const, float* * const, double* * const "$1 = ($1_ltype) $input;" -%typemap(in) const short* * const, const int* * const, const long* * const, const long long* * const, const char* * const, const float* * const, const double* * const "$1 = ($1_ltype) $input;" - -// size_t -%typemap(in) size_t, const size_t "$1 = (size_t) $input;" -%typemap(in) size_t*, size_t&, size_t[ANY], size_t[] "$1 = (size_t *) $input;" -%typemap(in) const size_t&, const size_t*, const size_t[ANY], const size_t[] "$1 = (const size_t *) &$input;" -%typemap(in) size_t**, size_t*&, size_t*[ANY], size_t[ANY][ANY] "$1 = (size_t **) $input;" -%typemap(in) const size_t**, const size_t*&, const size_t*[ANY], const size_t[ANY][ANY] "$1 = (const size_t **) $input;" -// constant pointers -%typemap(in) size_t * const "$1 = (size_t) $input;" -%typemap(in) size_t* * const "$1 = (size_t *) $input;" -%typemap(in) const size_t* * const "$1 = (const size_t **) $input;" - %typemap(in, fragment="stdbool_inc") bool, bool *, bool **, const bool, const bool * "$1 = ($1_ltype) $input;" %typemap(in, fragment="stdbool_inc") bool & "$1 = ($1_basetype *) $input;" %typemap(in, fragment="stdbool_inc") const bool &, const bool * "$1 = ($1_basetype *) $input;" |