/
niceSOFT
/
swig
Обзор
Документация
Войти
/
niceSOFT
/
swig
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Examples/test-suite/java/cpp20_concepts_class_methods_runme.java
49 строк
2 KB
William S Fulton
cpp20_concepts: add class methods and class template test cases
10 май 2026, 19:37
10 май 2026, 19:37
cbe8b15
Код
Авторство
О чём код?
import cpp20_concepts_class_methods.*; public class cpp20_concepts_class_methods_runme { static { try { System.loadLibrary("cpp20_concepts_class_methods"); } 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[]) { Calculator c = new Calculator(); // Trailing requires-clause on a member function template. if (c.cube_int(3) != 27) throw new RuntimeException("cube_int(3)"); if (c.cube_int(-4) != -64) throw new RuntimeException("cube_int(-4)"); if (c.cube_double(2.0) != 8.0) throw new RuntimeException("cube_double(2.0)"); // Prefix requires-clause on a member function template. if (c.quad_int(2) != 16) throw new RuntimeException("quad_int(2)"); if (c.quad_int(-3) != 81) throw new RuntimeException("quad_int(-3)"); // Static member function template constrained by an inline requires-expression. if (Calculator.sum_int(2, 3) != 5) throw new RuntimeException("Calculator.sum_int(2, 3)"); if (Calculator.sum_int(-7, 4) != -3) throw new RuntimeException("Calculator.sum_int(-7, 4)"); // Member function template constrained by a named concept whose body is itself a requires-expression. if (c.addn_int(7, 4) != 11) throw new RuntimeException("addn_int(7, 4)"); if (c.addn_int(-2, 5) != 3) throw new RuntimeException("addn_int(-2, 5)"); // Member function template with two template parameters and a compound constraint joined by '&&'. if (c.scale_int_int(5, 3) != 15) throw new RuntimeException("scale_int_int(5, 3)"); if (c.scale_int_int(-4, 2) != -8) throw new RuntimeException("scale_int_int(-4, 2)"); } }