summaryrefslogtreecommitdiffstats
path: root/debian/uncrustify-trinity/uncrustify-trinity-0.76.0/tests/expected/cpp/31601-parameter-packs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'debian/uncrustify-trinity/uncrustify-trinity-0.76.0/tests/expected/cpp/31601-parameter-packs.cpp')
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.76.0/tests/expected/cpp/31601-parameter-packs.cpp77
1 files changed, 77 insertions, 0 deletions
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.76.0/tests/expected/cpp/31601-parameter-packs.cpp b/debian/uncrustify-trinity/uncrustify-trinity-0.76.0/tests/expected/cpp/31601-parameter-packs.cpp
new file mode 100644
index 00000000..0394fe8b
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.76.0/tests/expected/cpp/31601-parameter-packs.cpp
@@ -0,0 +1,77 @@
+template<typename ... A, int... B>
+struct foo1 : foo1<A..., (sizeof...(A)+B)...>
+{
+ foo1() {
+ int x = sizeof...(A);
+ }
+};
+
+template<int... X> int bar1()
+{
+ auto s = sizeof...(X);
+ chomp(X)...;
+ return X+...;
+}
+
+template<class R, typename ... Args>
+void call1v(R (*fp)(Args...));
+
+template<class R, typename ... Args>
+void call1p(R (*fp)(Args*...));
+
+template<class R, typename ... Args>
+void call1r(R (*fp)(Args&&...));
+
+template<class R, typename ... Args>
+struct invoke1v : invoke<R (*)(Args...)>
+{
+};
+
+template<class R, typename ... Args>
+struct invoke1p : invoke<R (*)(Args*...)>
+{
+};
+
+template<class R, typename ... Args>
+struct invoke1r : invoke<R (*)(Args&&...)>
+{
+};
+
+template < typename ... A, int ... B >
+struct foo2 : foo2 < A ..., ( sizeof ... ( A ) + B )... >
+{
+ foo2() {
+ int x = sizeof ... ( A );
+ }
+};
+
+template < int ... X > int bar2()
+{
+ auto s = sizeof ... ( X );
+ chomp( X )...;
+ return X + ...;
+}
+
+template < class R, typename ... Args >
+void call2v( R ( *fp ) ( Args ... ) );
+
+template < class R, typename ... Args >
+void call2p( R ( *fp ) ( Args * ... ) );
+
+template < class R, typename ... Args >
+void call2r( R ( *fp ) ( Args && ... ) );
+
+template < class R, typename ... Args >
+struct invoke2v : invoke < R ( * ) ( Args ... ) >
+{
+};
+
+template < class R, typename ... Args >
+struct invoke2p : invoke < R ( * ) ( Args * ... ) >
+{
+};
+
+template < class R, typename ... Args >
+struct invoke2r : invoke < R ( * ) ( Args && ... ) >
+{
+};