/
niceSOFT
/
swig
Обзор
Документация
Войти
/
niceSOFT
/
swig
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Examples/test-suite/java/cpp20_concepts_lambda_runme.java
51 строка
2 KB
William S Fulton
C++20: parse abbreviated function templates with constrained auto
13 май 2026, 01:04
13 май 2026, 01:04
0039cb9
Код
Авторство
О чём код?
import cpp20_concepts_lambda.*; public class cpp20_concepts_lambda_runme { static { try { System.loadLibrary("cpp20_concepts_lambda"); } 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[]) { // Trailing requires-clause - bare concept. if (cpp20_concepts_lambda.run_trailing(5) != 10) throw new RuntimeException("run_trailing(5)"); // Trailing requires-clause - compound '&&'. if (cpp20_concepts_lambda.run_compound(7) != 14) throw new RuntimeException("run_compound(7)"); // Trailing requires-clause - inline 'requires requires'. if (cpp20_concepts_lambda.run_inline_req(2, 3) != 5) throw new RuntimeException("run_inline_req(2, 3)"); // 'mutable' followed by trailing requires-clause. if (cpp20_concepts_lambda.run_with_mut(4) != 8) throw new RuntimeException("run_with_mut(4)"); // Prefix requires-clause on a templated lambda. if (cpp20_concepts_lambda.run_prefix(5) != 10) throw new RuntimeException("run_prefix(5)"); // Prefix requires-clause on a templated lambda with no parameter list. if (cpp20_concepts_lambda.run_prefix_no_parms() != 7) throw new RuntimeException("run_prefix_no_parms()"); // Trailing return type combined with a trailing requires-clause. if (cpp20_concepts_lambda.run_with_ret(6) != 12) throw new RuntimeException("run_with_ret(6)"); // Both prefix and trailing requires-clauses on the same lambda. if (cpp20_concepts_lambda.run_both_clauses(3) != 6) throw new RuntimeException("run_both_clauses(3)"); // Constrained auto parameter lambda - the 'Numeric auto' form. if (cpp20_concepts_lambda.run_auto_param(8) != 16) throw new RuntimeException("run_auto_param(8)"); } }