File: parameter-packs.cpp

package info (click to toggle)
uncrustify 0.68.1%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 18,000 kB
  • sloc: cpp: 56,567; ansic: 19,840; cs: 3,097; python: 2,717; objc: 1,650; java: 510; sh: 390; awk: 150; perl: 63; makefile: 7
file content (39 lines) | stat: -rw-r--r-- 671 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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>
struct invoke1<R(fp*)(FArgs...)>
{
};

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  >
struct invoke2  <  R  (  fp*  )  (  FArgs  ...  )  >
{
};