* shared_ptr_directors:
Add director typemaps for pointer const ref types
Generation of director method declarations fixes
Add director shared_ptr typemaps for D
Add director shared_ptr typemaps for C#
Typo correction in changes file
Enhancements for directorin typemaps
Add director shared_ptr typemaps for Java
Director shared_ptr typemaps for scripting languages
R memory handling standardisation
Scilab, R and Octave shared_ptr typemaps null fix
Octave and R shared_ptr typemaps update
Remove duplicate director shared_ptr pointer reference typemaps
For shared_ptr directorin, make copy of shared_ptr in all cases.
Add directorin typemap for Python and Ruby shared_ptr.
- Fixes generation of director method declarations containing C++11 ref-qualifiers.
- Fixes generation of director method declarations returning more complex types such
as const ref pointers.
- Rewrite Swig_method_call to use more up to date code in the core.
The directorin typemaps will now generate a temporary variable
(specified after the type), such as:
%typemap(directorin) MyType (MyType *temp) { ... use temp ... }
The shared_ptr director typemaps have been fixed for use in functions
that take more than one parameter.
Replace R_SWIG_EXTERNAL and R_SWIG_OWNER with the standard equivalent
macros. I can't see where these were actually used, but in case they are,
equivalent backwards compatibility can be obtained using:
#define R_SWIG_EXTERNAL 0
#define R_SWIG_OWNER SWIG_POINTER_OWN
SWIG_MakePtr does not seem to be used within the R SWIG code base so I
havn't added the above as backwards compatibility macros.
There seems to be no memory management in R. I've made this change
to fit in with the rest of SWIG though in preparation for an upcoming
commit to use the same shared_ptr macros as is used elsewhere.
32 bit and 64 bit compiled versions of SWIG generated different Python files
when default arguments were outside the range of 32 bit signed integers.
The default arguments specified in Python are now only those that are in the
range of a 32 bit signed integer, otherwise the default is obtained from C/C++ code.
Closes#1108
errno needs setting otherwise a failed strol may result in subsequent
unnecessary code generation to use *args instead of actual default
argument values. Related to issue #1108.
Choose compile time failures over runtime errors.
This change highlighted a problem in the constructor wrappers for tp_init
where the kwargs parameter was missing in the generated wrapper function.
Leave casts in for 0 initialization.
* cpp11-ref-qualifiers:
Warnings in testcases fix
Add support for %typemap and member function pointers with qualifiers
Fix wrapping of some member function pointer parameters
Add support for member function pointers with ref-qualifiers
Add error for constructors, destructors, static methods declared with qualifiers
Add support for conversion operators with ref-qualifiers
Alternate function syntax parsing improvement
Re-organise parser grammar for initializer rules
Re-organise parser grammar for declarator and initializer rules
Add docs for C++11 ref-qualifiers
Add unignore for rvalue ref-qualifiers
Improve ref-qualifier implementation
Fix support for member const function pointer variables
Use normal SWIG encodings for ref-qualifiers
C++11 ref-qualifier support added
Step 1 to make these closer to the definitions used in the standard.
The initializer rule should not include qualifiers and exception specification.
- split cpp_const into add qualifiers_exception_specification and empty rules
- simplify initializer to use new qualifiers_exception_specification rule
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.
Internally, handle function ref-qualifiers in the function decl type string.
Needed for a whole host of things to work like %feature and %rename.
Add %feature %rename and %ignore testing for ref-qualifiers.
Was not generating code that compiled when the variable was not
a simple member pointer, for example,
a const reference member pointer:
short (Funcs::* const& cc7)(bool) const = cc1;
Fixes#1059
Methods with rvalue ref-qualifiers are ignored by default as it is not
possible to have an rvalue temporary from the target language (which is
needed to call the rvalue ref-qualified method).
A warning 405 is shown mentioning the ignored rvalue ref-qualifier method
which can be seen with the -Wextra option.
cpp_refqualifier.i:15: Warning 405: Method with rvalue ref-qualifier ignored h() const &&.
Usually rvalue and lvalue ref-qualifier overloaded methods are written - the
lvalue method will then be wrapped.
* templates-scope-enforcement:
Test a few %template errors
Add using declarations to templates into typedef table.
Fix type lookup in the presence of using directives and using declarations
More docs on %template
Testcase fix for nameclash in php
%template scope enforcement and class definition fixes
Template documentation tweaks
More consistent formatting of examples in documentation
More consistent formatting of examples in documentation
Documentation corrections to use targetlang formatting
More consistent formatting of examples in documentation
More consistent formatting of examples in documentation
More consistent formatting of examples in documentation
Namespace documentation minor corrections
Improve description of template_parameters_resolve
Minor code optimisation in template_parameters_resolve
Fix scope lookup for template parameters containing unary scope operators
Typemap change for templates