File tree 16 files changed +157
-0
lines changed
16 files changed +157
-0
lines changed Original file line number Diff line number Diff line change
1
+ // bindgen-flags: -- -std=c++14
2
+
3
+ template <typename T>
4
+ class UsesTemplateParameter {
5
+ T t;
6
+ };
Original file line number Diff line number Diff line change
1
+ // bindgen-flags: -- -std=c++14
2
+
3
+ template <typename T>
4
+ class DoesNotUseTemplateParameter {
5
+ int x;
6
+ };
Original file line number Diff line number Diff line change
1
+ // bindgen-flags: -- -std=c++14
2
+
3
+ template <typename T, typename U, typename NeverUsed>
4
+ class DoublyIndirectUsage {
5
+ using Aliased = T;
6
+ typedef U Typedefed;
7
+
8
+ class IndirectUsage {
9
+ Aliased member;
10
+ Typedefed another;
11
+ };
12
+
13
+ IndirectUsage doubly_indirect;
14
+ };
Original file line number Diff line number Diff line change
1
+ // bindgen-flags: -- -std=c++14
2
+
3
+ template <typename T>
4
+ class DoesNotUseT {
5
+ static T but_static_member_does;
6
+ };
Original file line number Diff line number Diff line change
1
+ // bindgen-flags: -- -std=c++14
2
+
3
+ template <typename T>
4
+ class BaseUsesT {
5
+ T* t;
6
+ };
7
+
8
+ template <typename U>
9
+ class CrtpUsesU : public BaseUsesT <CrtpUsesU<U>> {
10
+ U usage;
11
+ };
Original file line number Diff line number Diff line change
1
+ // bindgen-flags: -- -std=c++14
2
+
3
+ template <typename T>
4
+ class BaseIgnoresT {
5
+ int x;
6
+ };
7
+
8
+ template <typename U>
9
+ class CrtpUsesU : public BaseIgnoresT <CrtpUsesU<U>> {
10
+ U usage;
11
+ };
Original file line number Diff line number Diff line change
1
+ // bindgen-flags: -- -std=c++14
2
+
3
+ template <typename T>
4
+ class BaseIgnoresT {
5
+ int x;
6
+ };
7
+
8
+ template <typename U>
9
+ class CrtpIgnoresU : public BaseIgnoresT <CrtpIgnoresU<U>> {
10
+ int y;
11
+ };
Original file line number Diff line number Diff line change
1
+ // bindgen-flags: -- -std=c++14
2
+
3
+ template <typename T>
4
+ class BaseUsesT {
5
+ T* usage;
6
+ };
7
+
8
+ template <typename U>
9
+ class CrtpIgnoresU : public BaseUsesT <CrtpIgnoresU<U>> {
10
+ int y;
11
+ };
Original file line number Diff line number Diff line change
1
+ // bindgen-flags: -- -std=c++14
2
+
3
+ template <typename T>
4
+ class UsesTemplateParameter {
5
+ T t;
6
+
7
+ class AlsoUsesTemplateParameter {
8
+ T also;
9
+ };
10
+ };
Original file line number Diff line number Diff line change
1
+ // bindgen-flags: -- -std=c++14
2
+
3
+ template <typename T>
4
+ class UsesTemplateParameter {
5
+ T t;
6
+
7
+ template <typename U>
8
+ class AlsoUsesTemplateParameterAndMore {
9
+ T also;
10
+ U more;
11
+ };
12
+ };
Original file line number Diff line number Diff line change
1
+ // bindgen-flags: -- -std=c++14
2
+
3
+ template <typename T>
4
+ class UsesTemplateParameter {
5
+ T t;
6
+
7
+ template <typename U>
8
+ class DoesNotUseTemplateParameters {
9
+ int x;
10
+ };
11
+ };
Original file line number Diff line number Diff line change
1
+ // bindgen-flags: -- -std=c++14
2
+
3
+ template <typename T>
4
+ class IndirectlyUsesTemplateParameter {
5
+ using Aliased = T;
6
+
7
+ Aliased aliased;
8
+ };
Original file line number Diff line number Diff line change
1
+ // bindgen-flags: -- -std=c++14
2
+
3
+ template <typename T>
4
+ class DoesNotUseTemplateParameter {
5
+ using ButAliasDoesUseIt = T;
6
+
7
+ int x;
8
+ };
Original file line number Diff line number Diff line change
1
+ // bindgen-flags: -- -std=c++14
2
+
3
+ template <typename T, typename U, typename V>
4
+ class DoesNotUseU {
5
+ T t;
6
+ V v;
7
+ };
8
+
9
+ // The bool should go away becuase U is not used.
10
+ using Alias = DoesNotUseU<int , bool , char >;
Original file line number Diff line number Diff line change
1
+ // bindgen-flags: -- -std=c++14
2
+
3
+ template <typename T, typename U>
4
+ class IndirectUsage {
5
+ typedef T Typedefed;
6
+ using Aliased = U;
7
+
8
+ Typedefed member1;
9
+ Aliased member2;
10
+ };
Original file line number Diff line number Diff line change
1
+ // bindgen-flags: -- -std=c++14
2
+
3
+ template <typename T, typename U>
4
+ class DoesNotUse {
5
+ using Aliased = T;
6
+ typedef U Typedefed;
7
+
8
+ class IndirectUsage {
9
+ Aliased member;
10
+ Typedefed another;
11
+ };
12
+ };
You can’t perform that action at this time.
0 commit comments