add inttypes.i wchar.i
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7914 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
5f280cb2d0
commit
01348e0ab6
2 changed files with 97 additions and 0 deletions
88
Lib/inttypes.i
Normal file
88
Lib/inttypes.i
Normal file
|
|
@ -0,0 +1,88 @@
|
||||||
|
/*
|
||||||
|
* ISO C99: 7.8 Format conversion of integer types <inttypes.h>
|
||||||
|
*/
|
||||||
|
%{
|
||||||
|
#include <inttypes.h>
|
||||||
|
%}
|
||||||
|
|
||||||
|
%include <stdint.i>
|
||||||
|
%include <wchar.i>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef SWIGWORDSIZE64
|
||||||
|
|
||||||
|
/* We have to define the `uintmax_t' type using `ldiv_t'. */
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
long int quot; /* Quotient. */
|
||||||
|
long int rem; /* Remainder. */
|
||||||
|
} imaxdiv_t;
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/* We have to define the `uintmax_t' type using `lldiv_t'. */
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
long long int quot; /* Quotient. */
|
||||||
|
long long int rem; /* Remainder. */
|
||||||
|
} imaxdiv_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Compute absolute value of N. */
|
||||||
|
extern intmax_t imaxabs (intmax_t n);
|
||||||
|
|
||||||
|
/* Return the `imaxdiv_t' representation of the value of NUMER over DENOM. */
|
||||||
|
extern imaxdiv_t imaxdiv (intmax_t numer, intmax_t denom);
|
||||||
|
|
||||||
|
/* Like `strtol' but convert to `intmax_t'. */
|
||||||
|
extern intmax_t strtoimax (const char *nptr, char **endptr, int base);
|
||||||
|
|
||||||
|
/* Like `strtoul' but convert to `uintmax_t'. */
|
||||||
|
extern uintmax_t strtoumax (const char *nptr, char ** endptr, int base);
|
||||||
|
|
||||||
|
#ifdef SWIG_WCHAR
|
||||||
|
/* Like `wcstol' but convert to `intmax_t'. */
|
||||||
|
extern intmax_t wcstoimax (const wchar_t *nptr, wchar_t **endptr, int base);
|
||||||
|
|
||||||
|
/* Like `wcstoul' but convert to `uintmax_t'. */
|
||||||
|
extern uintmax_t wcstoumax (const wchar_t *nptr, wchar_t ** endptr, int base);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef SWIGWORDSIZE64
|
||||||
|
|
||||||
|
/* Like `strtol' but convert to `intmax_t'. */
|
||||||
|
extern intmax_t strtoimax (const char *nptr, char **endptr, int base);
|
||||||
|
|
||||||
|
/* Like `strtoul' but convert to `uintmax_t'. */
|
||||||
|
extern uintmax_t strtoumax (const char *nptr, char **endptr,int base);
|
||||||
|
|
||||||
|
#ifdef SWIG_WCHAR
|
||||||
|
/* Like `wcstol' but convert to `intmax_t'. */
|
||||||
|
extern intmax_t wcstoimax (const wchar_t *nptr, wchar_t **endptr, int base);
|
||||||
|
|
||||||
|
/* Like `wcstoul' but convert to `uintmax_t'. */
|
||||||
|
extern uintmax_t wcstoumax (const wchar_t *nptr, wchar_t **endptr, int base);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#else /* SWIGWORDSIZE32 */
|
||||||
|
|
||||||
|
/* Like `strtol' but convert to `intmax_t'. */
|
||||||
|
extern intmax_t strtoimax (const char *nptr, char **endptr, int base);
|
||||||
|
|
||||||
|
/* Like `strtoul' but convert to `uintmax_t'. */
|
||||||
|
extern uintmax_t strtoumax (const char *nptr, char **endptr, int base);
|
||||||
|
|
||||||
|
#ifdef SWIG_WCHAR
|
||||||
|
/* Like `wcstol' but convert to `intmax_t'. */
|
||||||
|
extern uintmax_t wcstoumax (const wchar_t *nptr, wchar_t **endptr, int base);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* SWIGWORDSIZE32 */
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
9
Lib/wchar.i
Normal file
9
Lib/wchar.i
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
/*
|
||||||
|
wchar_t not supported, unless otherwise specified in the target
|
||||||
|
language.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if defined(SWIG_WCHAR)
|
||||||
|
#undef SWIG_WCHAR
|
||||||
|
#endif
|
||||||
Loading…
Add table
Add a link
Reference in a new issue