aboutsummaryrefslogtreecommitdiffstats
path: root/cxx11/c++11-test-variadic_templates-N2555.cpp
diff options
context:
space:
mode:
authorAlec Thomas <alec@swapoff.org>2012-10-19 14:48:55 -0400
committerAlec Thomas <alec@swapoff.org>2012-10-19 14:48:55 -0400
commite88636d40577776db26d34d8adacddbba5bd6da8 (patch)
tree22042c46c03538998a87b4bc7ccbf435d5dea1ba /cxx11/c++11-test-variadic_templates-N2555.cpp
parent92dc19d8a0eaea4aac6327490695420deb226218 (diff)
A bunch of minor build fixes. Started README.
Diffstat (limited to 'cxx11/c++11-test-variadic_templates-N2555.cpp')
-rw-r--r--cxx11/c++11-test-variadic_templates-N2555.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/cxx11/c++11-test-variadic_templates-N2555.cpp b/cxx11/c++11-test-variadic_templates-N2555.cpp
new file mode 100644
index 0000000..79fae84
--- /dev/null
+++ b/cxx11/c++11-test-variadic_templates-N2555.cpp
@@ -0,0 +1,23 @@
+int Accumulate()
+{
+ return 0;
+}
+
+template<typename T, typename... Ts>
+int Accumulate(T v, Ts... vs)
+{
+ return v + Accumulate(vs...);
+}
+
+template<int... Is>
+int CountElements()
+{
+ return sizeof...(Is);
+}
+
+int main()
+{
+ int acc = Accumulate(1, 2, 3, 4, -5);
+ int count = CountElements<1,2,3,4,5>();
+ return ((acc == 5) && (count == 5)) ? 0 : 1;
+}