#include #include #include #include #include #include #if THRUST_DEVICE_SYSTEM == THRUST_DEVICE_SYSTEM_CUDA # include #endif template struct test_allocator_t {}; test_allocator_t test_allocator = test_allocator_t(); const test_allocator_t const_test_allocator = test_allocator_t(); struct test_memory_resource_t final : thrust::mr::memory_resource<> { void* do_allocate(std::size_t size, std::size_t) override { return reinterpret_cast(size); // NOLINT(performance-no-int-to-ptr) } void do_deallocate(void* ptr, std::size_t size, std::size_t) override { ASSERT_EQUAL(ptr, reinterpret_cast(size)); // NOLINT(performance-no-int-to-ptr) } } test_memory_resource; template class CRTPBase> struct policy_info { using policy = Policy; template