swig/Examples/test-suite/java/template_template_parameters_runme.java
William S Fulton 05b93b1f06 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
2022-12-02 19:16:02 +00:00

50 lines
1.6 KiB
Java

import template_template_parameters.*;
public class template_template_parameters_runme {
static {
try {
System.loadLibrary("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[]) {
// Test part 1
ListFastBool listBool = new ListFastBool();
listBool.setItem(true);
boolean x_boolean = listBool.getAllotype();
if (listBool.getItem() != true)
throw new RuntimeException("Failed");
ListDefaultDouble listDouble = new ListDefaultDouble();
listDouble.setItem(10.2);
double x_double = listDouble.getAllotype();
if (listDouble.getItem() != 10.2)
throw new RuntimeException("Failed");
// Test part 2
FloatTestStruct floatTestStruct = new FloatTestStruct();
FloatContainer2 floatContainer2 = floatTestStruct.getX();
floatContainer2.setX(8.1f);
IntTestStruct intTestStruct = new IntTestStruct();
IntContainer1 intContainer1 = intTestStruct.getX();
intContainer1.setX(91);
if (intContainer1.getX() != 91)
throw new RuntimeException("Failed");
if (intTestStruct.getX().getX() != 91)
throw new RuntimeException("Failed");
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);
}
}