| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Complete support for C++11 variadic function templates. Support was previously limited
to just one template parameter. Now zero or more template parameters are supported
in the %template instantiation.
|
| |
|
|\
| |
| |
| |
| |
| | |
* OCaml-rename_rstrip_encoder-using2-runtime-tests:
Complete copy of testcase from Python
[OCaml] Runtime tests for rename_rstrip_encoder and using2
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Add runtime tests for rename_rstrip_encoder and using2.
They are based on the runtime tests that already exist for other
languages.
|
| |
| |
| |
| | |
Test less conventional function ptr parameters
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
that are function pointers and member function pointers.
template <typename... V> struct VariadicParms {
void ParmsFuncPtrPtr(int (*)(V*...)) {}
void ParmsFuncPtrPtrRef(int (*)(V*&...)) {}
void ParmsFuncPtrPtrRValueRef(int (*)(V*&&...)) {}
void ParmsFuncPtrRef(int (*)(V&...)) {}
void ParmsFuncPtrRValueRef(int (*)(V&&...)) {}
void ParmsMemFuncPtrPtr(int (KlassMemFuncs::*)(V*...)) {}
void ParmsMemFuncPtrPtrRef(int (KlassMemFuncs::*)(V*&...)) {}
void ParmsMemFuncPtrPtrRValueRef(int (KlassMemFuncs::*)(V*&&...)) {}
void ParmsMemFuncPtrRef(int (KlassMemFuncs::*)(V&...)) {}
void ParmsMemFuncPtrRValueRef(int (KlassMemFuncs::*)(V&&...)) {}
};
%template(VariadicParms0) VariadicParms<>;
%template(VariadicParms1) VariadicParms<A>;
Also in various other places such as within noexcept specifiers:
template<typename T, typename... Args>
void emplace(Args &&... args) noexcept(
std::is_nothrow_constructible<T, Args &&...>::value);
Issue #1863
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
containing parameter pack arguments that are function pointers.
template <typename... V> struct VariadicParms {
void ParmsFuncPtrVal(int (*)(V...)) {}
};
%template(VariadicParms0) VariadicParms<>;
%template(VariadicParms1) VariadicParms<A>;
|
| |
| |
| |
| |
| |
| | |
that are function pointers
Issue #1863
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Remove warning SWIGWARN_CPP11_VARIADIC_TEMPLATE which was issued if more
than one argument was used for a variadic template.
SwigType enhancement: 'v.' now represents a variadic argument.
|
| |
| |
| |
| |
| |
| |
| | |
Fix syntax error using Doxygen member groups syntax, "///*}", when used after
final struct/class member.
Issue #1636
|
|/
|
|
|
|
|
| |
Fix garbled Doxygen post comments in parameter lists.
Fix syntax error parsing a trailing Doxygen comment in parameter lists.
Closes #2023
|
|
|
|
|
|
|
| |
It is unconventional to have a doxygen comment after an enum item. It is
attached to the previous, that is, the enum item to match Doxygen behaviour.
Closes #1609
|
|
|
|
| |
Closes #1715
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, specifying more than one simple template template parameter
resulted in a parse error. Now multiple template template parameters are
working including instantiation with %template. Example:
template <template<template<class> class, class> class Op, template<class> class X, class Y>
class C { ... };
Closes #624
Closes #1021
|
|
|
|
|
|
| |
From Visual Studio 2022:
warning C4996: 'std::complex<int>::complex': warning STL4037: The effect of instantiating the template std::complex for any type other than float, double, or long double is unspecified. You can define _SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING to suppress this warning.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
decltype now accepts C++ expressions instead of just an ID, such as:
int i,j;
... decltype(i+j) ...
... decltype(&i) ...
These result in a warning for non-trivial expressions which SWIG cannot evaluate:
Warning 344: Unable to deduce decltype for 'i+j'.
See 'Type Inference' in CPlusPlus.html for workarounds.
Issue #1589
Issue #1590
|
|
|
|
| |
Closes #961
|
|
|
|
|
|
|
| |
Fix undefined behaviour in swig's parser when handling default parameter
expressions containing method calls.
Fixes #2447
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* rtests2:
more r tests
more r tests
added testcase pointer_reference
[PHP] Update docs for removal of -noproxy in SWIG 4.1.0
Conflicts:
CHANGES.current
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Problems handling < and > in template parameters are now fixed.
Remove illegal C++ code (template typedefs) - replace with a function
using same template.
|
| |
| |
| |
| |
| |
| | |
Similar to previous commit
Issue #1037
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Recent commits ensure types are correctly stored in SwigType *. In
particular template parameters are enclosed within '<(' and ')>'.
Now we can confidently handle template parameters as really being
delimited as such to fix an infinite loop handling template expressions
containing '<' or '>'. The previous implementation only assumed
template parameters were delimited by '<' and '>'.
Issue #1037
|
|/
|
|
|
|
|
|
|
|
|
| |
Named duplicate class template instantiations now issue a warning and are ignored.
Duplicate empty class template instantiations are quietly ignored.
The test cases are fixed for this new behaviour.
This commit is a pre-requisite for the near future so that the Python
builtin wrappers can correctly use the SwigType_namestr function without
generating duplicate symbol names.
|
|\
| |
| | |
more tests for R
|
| | |
|
|/ |
|
|
|
|
|
| |
std::enable_if_t is in C++14, but std::is_integral_v
is in C++17
|
|
|
|
|
|
|
|
|
| |
Fixes infinite loop due to () brackets in a non-type template
parameter containing an expression
Fixes #2418
Non-trivial expressions are still not qualified properly though.
|
|
|
|
|
|
|
|
| |
- Fix for special variable $argtype expansion in rtypecheck typemap.
- Remove unnecessary () brackets when using rtypecheck typemap for
single parameter functions.
- Add rtypecheck typemaps for shared_ptr so that NULL can be used
in overloaded functions taking shared_ptr.
|
|
|
|
|
|
|
|
|
|
|
| |
when incorrect types passed are passed to the overloaded methods.
Old unhelpful error message:
Error in f(...) : could not find function "f"
Example of new improved error message:
Error in use_count(k) :
cannot find overloaded function for use_count with argtypes (NULL)
|
|
|
|
|
|
|
|
|
| |
Fix leak when a cast up a class inheritance chain is
required.
Adds implementation of SWIG_ConvertPtrAndOwn for R.
Closes #2386
|
|
|
|
| |
Synchronise test with Python version of testcase
|
| |
|
|
|
|
|
| |
Enable more tests.
Use preferred member variable access.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Fix problems in shared_ptr wrappers where the class names were
not consistent when using the shared_ptr template or the actual
underlying type. Move $R_class substitution to typemaps.
Issue #2386
|
| |
|
| |
|
| |
|
| |
|
| |
|