| var cpp11_variadic_function_templates = require("cpp11_variadic_function_templates"); | |
| const {A, B, C, D, variadicmix1} = cpp11_variadic_function_templates; | |
| ec = new cpp11_variadic_function_templates.EmplaceContainer(); | |
| ec.emplace(new A()); | |
| ec.emplace(new A(), new B()); | |
| ec.emplace(new A(), new B(), new C()); | |
| ec.emplace(new A(), new B(), new C(), new D()); | |
| function check(expected, got) { | |
| if (expected != got) { | |
| throw new Error("failed: {} != {}".format(expected, got)); | |
| } | |
| } | |
| a = new A(); | |
| b = new B(); | |
| c = new C(); | |
| check(variadicmix1(), 20); | |
| check(variadicmix1(a), 20); | |
| check(variadicmix1(a, b), 10); | |
| check(variadicmix1(a, b, c), 20); | |
| check(variadicmix1(11, 22), 10); |