Improved template template parameters support.
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
This commit is contained in:
parent
c85e7f1625
commit
05b93b1f06
9 changed files with 212 additions and 62 deletions
|
|
@ -14,7 +14,7 @@ public class template_template_parameters_runme {
|
|||
}
|
||||
|
||||
public static void main(String argv[]) {
|
||||
// Test first part
|
||||
// Test part 1
|
||||
ListFastBool listBool = new ListFastBool();
|
||||
listBool.setItem(true);
|
||||
boolean x_boolean = listBool.getAllotype();
|
||||
|
|
@ -27,7 +27,7 @@ public class template_template_parameters_runme {
|
|||
if (listDouble.getItem() != 10.2)
|
||||
throw new RuntimeException("Failed");
|
||||
|
||||
// Test second part
|
||||
// Test part 2
|
||||
FloatTestStruct floatTestStruct = new FloatTestStruct();
|
||||
FloatContainer2 floatContainer2 = floatTestStruct.getX();
|
||||
floatContainer2.setX(8.1f);
|
||||
|
|
@ -41,6 +41,10 @@ public class template_template_parameters_runme {
|
|||
IntTestStruct intTestStructReturned = template_template_parameters.TestStructContainer1Method(intTestStruct);
|
||||
if (intTestStructReturned.getX().getX() != 101)
|
||||
throw new RuntimeException("Failed");
|
||||
|
||||
// Test part 3
|
||||
MyFootInt99 mfi99 = new MyFootInt99();
|
||||
mfi99.OperatorPlusEquals(mfi99);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,36 @@
|
|||
|
||||
|
||||
import template_template_template_parameters.*;
|
||||
|
||||
public class template_template_template_parameters_runme {
|
||||
|
||||
static {
|
||||
try {
|
||||
System.loadLibrary("template_template_template_parameters");
|
||||
} catch (UnsatisfiedLinkError e) {
|
||||
System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String argv[]) {
|
||||
CustomAttrs custom_attrs = new CustomAttrs();
|
||||
AC ac = new AC();
|
||||
BAC bac = new BAC();
|
||||
CBAC cbac = new CBAC();
|
||||
DBAC dbac = new DBAC();
|
||||
|
||||
custom_attrs = ac.getAttributes();
|
||||
custom_attrs = bac.getAttributes();
|
||||
custom_attrs = cbac.getAttributes();
|
||||
custom_attrs = dbac.getAttributes();
|
||||
|
||||
bac.BMethod(custom_attrs, ac);
|
||||
cbac.BMethod(custom_attrs, ac);
|
||||
dbac.BMethod(custom_attrs, ac);
|
||||
|
||||
cbac.CMethod(custom_attrs, bac);
|
||||
dbac.DMethod(custom_attrs, bac);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue