diff options
author | William S Fulton <wsf@fultondesigns.co.uk> | 2017-08-25 19:08:09 +0100 |
---|---|---|
committer | William S Fulton <wsf@fultondesigns.co.uk> | 2017-08-30 18:17:04 +0100 |
commit | 8a40327aa8f75af9d5c68bfee1125be4544f2865 (patch) | |
tree | c0d5aaefa8f01b01b700d1e889181c36070c619e /Lib/swigfragments.swg | |
parent | 1cf599bccb100f3bcda42f5f507ea32f99cd5f89 (diff) | |
download | swig-8a40327aa8f75af9d5c68bfee1125be4544f2865.tar.gz |
Add unignore for rvalue ref-qualifiers
Use std::move on this pointer as the default approach to supporting
rvalue ref-qualifiers if a user really wants to wrap.
std::move requires <memory> headers so add swigfragments.swg for all
languages to use common fragments. Just header file fragments for now.
Diffstat (limited to 'Lib/swigfragments.swg')
-rw-r--r-- | Lib/swigfragments.swg | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/Lib/swigfragments.swg b/Lib/swigfragments.swg new file mode 100644 index 000000000..63bb6c8f4 --- /dev/null +++ b/Lib/swigfragments.swg @@ -0,0 +1,86 @@ +/* ----------------------------------------------------------------------------- + * swigfragments.swg + * + * Common fragments + * ----------------------------------------------------------------------------- */ + +/* ----------------------------------------------------------------------------- + * Fragments for C header files + * ----------------------------------------------------------------------------- */ + +%fragment("<float.h>", "header") %{ +#include <float.h> +%} + +/* Default compiler options for gcc allow long_long but not LLONG_MAX. + * Define SWIG_NO_LLONG_MAX if this added limits support is not wanted. */ +%fragment("<limits.h>", "header") %{ +#include <limits.h> +#if !defined(SWIG_NO_LLONG_MAX) +# if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__) +# define LLONG_MAX __LONG_LONG_MAX__ +# define LLONG_MIN (-LLONG_MAX - 1LL) +# define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL) +# endif +#endif +%} + +%fragment("<math.h>", "header") %{ +#include <math.h> +%} + +%fragment("<stddef.h>", "header") %{ +#include <stddef.h> +%} + +%fragment("<stdio.h>", "header") %{ +#include <stdio.h> +#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(_WATCOM) +# ifndef snprintf +# define snprintf _snprintf +# endif +#endif +%} + +%fragment("<stdlib.h>", "header") %{ +#include <stdlib.h> +#ifdef _MSC_VER +# ifndef strtoull +# define strtoull _strtoui64 +# endif +# ifndef strtoll +# define strtoll _strtoi64 +# endif +#endif +%} + +%fragment("<wchar.h>", "header") %{ +#include <wchar.h> +#include <limits.h> +#ifndef WCHAR_MIN +# define WCHAR_MIN 0 +#endif +#ifndef WCHAR_MAX +# define WCHAR_MAX 65535 +#endif +%} + +/* ----------------------------------------------------------------------------- + * Fragments for C++ header files + * ----------------------------------------------------------------------------- */ + +%fragment("<algorithm>", "header") %{ +#include <algorithm> +%} + +%fragment("<stdexcept>", "header") %{ +#include <stdexcept> +%} + +%fragment("<string>", "header") %{ +#include <string> +%} + +%fragment("<memory>", "header") %{ +#include <memory> +%} |