| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| |
| |
| |
|
|
| #pragma once |
|
|
| namespace thrust |
| { |
|
|
| |
| |
| |
|
|
| |
| |
| |
| template <typename... Z> |
| struct test_predefined_friend_struct {}; |
|
|
| |
| |
| |
| template <typename Z> |
| void test_predefined_friend_function(); |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| template <typename T, typename U> |
| class test_class |
| { |
| public: |
| template <typename Z> |
| struct test_nested_struct {}; |
|
|
| int test_member_variable = 0; |
|
|
| [[deprecated]] static constexpr int test_member_constant = 42; |
|
|
| template <typename X, typename Y> |
| using test_type_alias = test_class<X, Y>; |
|
|
| enum class test_enum_class { |
| A = 15, |
| B, |
| C |
| }; |
|
|
| |
| |
| test_class() = default; |
|
|
| |
| |
| __host__ __device__ constexpr |
| test_class(int); |
|
|
| |
| |
| |
| __host__ __device__ constexpr |
| int test_member_function() = 0; |
|
|
| |
| |
| |
| __host__ __device__ |
| virtual int test_virtual_member_function() = 0; |
|
|
| |
| |
| |
| |
| template <typename A = test_predefined_friend_struct<int, int, int, int, int, int, int, int, int, int, int, int>, |
| typename B = test_predefined_friend_struct<int, int, int, int, int, int, int, int, int, int, int, int>, |
| typename C = test_predefined_friend_struct<int, int, int, int, int, int, int, int, int, int, int, int>> |
| test_predefined_friend_struct<int, int, int, int, int, int, int, int, int, int, int, int, int, int, int> |
| test_parameter_overflow_member_function(test_predefined_friend_struct<int, int, int, int, int, int, int, int, int, int, int, int, int, int, int> a, |
| test_predefined_friend_struct<int, int, int, int, int, int, int, int, int, int, int, int, int, int, int> b, |
| test_predefined_friend_struct<int, int, int, int, int, int, int, int, int, int, int, int, int, int, int> c); |
|
|
| template <typename Z> |
| friend void test_friend_function() {} |
|
|
| template <typename Z> |
| friend void test_predefined_friend_function(); |
|
|
| template <typename... Z> |
| friend struct thrust::test_predefined_friend_struct; |
|
|
| protected: |
|
|
| template <typename Z> |
| class test_protected_nested_class {}; |
|
|
| |
| |
| |
| __device__ |
| auto test_protected_member_function(); |
| }; |
|
|
| |
| |
| |
| class test_derived_class : test_class<int, double> |
| { |
| template <typename Z> |
| struct test_derived_nested_struct {}; |
|
|
| double test_derived_member_variable = 3.14; |
|
|
| typedef double test_typedef; |
|
|
| |
| |
| |
| __host__ __device__ constexpr |
| double test_derived_member_function(int, int); |
| }; |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| template <typename T> |
| void test_function(T const& a, test_class<T, T const>&& b); |
|
|
| |
| |
| |
| |
| template <typename T = test_predefined_friend_struct<int, int, int, int, int, int, int, int, int, int, int, int>, |
| typename U = test_predefined_friend_struct<int, int, int, int, int, int, int, int, int, int, int, int>, |
| typename V = test_predefined_friend_struct<int, int, int, int, int, int, int, int, int, int, int, int> |
| > |
| test_predefined_friend_struct<int, int, int, int, int, int, int, int, int, int, int, int, int, int, int> |
| test_parameter_overflow_function(test_predefined_friend_struct<int, int, int, int, int, int, int, int, int, int, int, int> t, |
| test_predefined_friend_struct<int, int, int, int, int, int, int, int, int, int, int, int> u, |
| test_predefined_friend_struct<int, int, int, int, int, int, int, int, int, int, int, int> v); |
|
|
| |
| |
| |
| enum class test_enum { |
| X = 1, |
| Y = X, |
| Z = 2 |
| }; |
|
|
| |
| |
| |
| using test_alias = test_class<int, double>; |
|
|
| |
| |
| |
| namespace test_namespace { |
|
|
| inline constexpr int test_constant = 12; |
|
|
| |
| |
| |
| template <typename T, typename U> |
| auto test_nested_function(T t, U u) noexcept(noexcept(t + u)) -> decltype(t + u) |
| { return t + u; } |
|
|
| |
| |
| |
| template <typename Z> |
| struct test_struct |
| { |
| test_struct& operator=(test_struct const&) = default; |
|
|
| |
| |
| |
| bool operator<(test_struct const& t); |
| }; |
|
|
| } |
|
|
| |
| |
| |
| #define THRUST_TEST_MACRO(x, y) thrust::test_namespace::nested_function(x, y) |
|
|
| |
| |
|
|
| } |
|
|
|
|