vecmem 1.18.0
Loading...
Searching...
No Matches
queue_holder.hpp
1/* VecMem project, part of the ACTS project (R&D line)
2 *
3 * (c) 2025 CERN for the benefit of the ACTS project
4 *
5 * Mozilla Public License Version 2.0
6 */
7#pragma once
8
9// Local include(s).
10#include "vecmem/utils/sycl/queue_wrapper.hpp"
11#include "vecmem/vecmem_sycl_export.hpp"
12
13// System include(s).
14#include <memory>
15
16namespace vecmem::sycl::details {
17
20
21public:
24 explicit queue_holder(const queue_wrapper& queue = {});
28
29protected:
32
33private:
36 struct impl;
38 std::unique_ptr<impl> m_impl;
39
40}; // queue_holder
41
42} // namespace vecmem::sycl::details
An allocator class that wraps a memory resource.
Definition allocator.hpp:37
Base class for all user-facing, sycl::queue using classes.
Definition queue_holder.hpp:19
VECMEM_SYCL_EXPORT queue_holder(const queue_wrapper &queue={})
Constructor on top of a user-provided queue.
VECMEM_SYCL_EXPORT ~queue_holder()
Destructor.
queue_wrapper & queue() const
Get the held queue.
Wrapper class for ::sycl::queue.
Definition queue_wrapper.hpp:23
Namespace for types that should not be used directly by clients.
Definition sycl_builtin_device_atomic_ref.hpp:18