@@ -85,70 +85,6 @@ struct ze_handle_wrapper {
8585 bool ownZeHandle;
8686};
8787
88- template <typename URHandle, ur_result_t (*retain)(URHandle),
89- ur_result_t (*release)(URHandle)>
90- struct ur_shared_handle {
91- using handle_t = URHandle;
92-
93- ur_shared_handle () : handle(nullptr ) {}
94- explicit ur_shared_handle (handle_t handle) : handle(handle) {}
95- ~ur_shared_handle () {
96- try {
97- reset ();
98- } catch (...) {
99- }
100- }
101-
102- ur_shared_handle (const ur_shared_handle &other) : handle(other.handle) {
103- retain (handle);
104- }
105- ur_shared_handle (ur_shared_handle &&other) : handle(other.handle) {
106- other.handle = nullptr ;
107- }
108- ur_shared_handle (std::nullptr_t ) : handle(nullptr ) {}
109-
110- void reset () {
111- if (!handle) {
112- return ;
113- }
114-
115- UR_CALL_THROWS (release (handle));
116- handle = nullptr ;
117- }
118-
119- ur_shared_handle &operator =(const ur_shared_handle &other) {
120- if (handle) {
121- release (handle);
122- }
123- handle = other.handle ;
124- retain (handle);
125- return *this ;
126- }
127- ur_shared_handle &operator =(ur_shared_handle &&other) {
128- if (handle) {
129- release (handle);
130- }
131- handle = other.handle ;
132- other.handle = nullptr ;
133- return *this ;
134- }
135- ur_shared_handle &operator =(std::nullptr_t ) {
136- if (handle) {
137- release (handle);
138- }
139- new (this ) ur_shared_handle (nullptr );
140- return *this ;
141- }
142-
143- handle_t *ptr () { return &handle; }
144- handle_t get () const { return handle; }
145- handle_t operator ->() { return handle; }
146- operator handle_t () { return handle; }
147-
148- private:
149- handle_t handle;
150- };
151-
15288using ze_kernel_handle_t =
15389 ze_handle_wrapper<::ze_kernel_handle_t , zeKernelDestroy>;
15490
@@ -158,11 +94,5 @@ using ze_event_handle_t =
15894using ze_event_pool_handle_t =
15995 ze_handle_wrapper<::ze_event_pool_handle_t , zeEventPoolDestroy>;
16096
161- using ur_queue_shared_handle_t =
162- ur_shared_handle<ur_queue_handle_t , urQueueRetain, urQueueRelease>;
163-
164- using ur_kernel_shared_handle_t =
165- ur_shared_handle<ur_kernel_handle_t , urKernelRetain, urKernelRelease>;
166-
16797} // namespace raii
16898} // namespace v2
0 commit comments