Scroom 0.14-49-gb7ae7a6d
Loading...
Searching...
No Matches
async-deleter.hh
Go to the documentation of this file.
1/*
2 * Scroom - Generic viewer for 2D data
3 * Copyright (C) 2009-2026 Kees-Jan Dijkzeul
4 *
5 * SPDX-License-Identifier: LGPL-2.1
6 */
7
8#pragma once
9
10#include <scroom/threadpool.hh>
11
12namespace Detail
13{
14 template <typename T>
15 void call_delete(T* p)
16 {
17 delete p;
18 }
19} // namespace Detail
20
22{
24} // namespace Scroom::Detail::ThreadPool
25
40template <typename T>
42{
43private:
45
46public:
48 : deleter(Scroom::Detail::ThreadPool::getDeleter())
49 {
50 }
51
52 void operator()(T* p)
53 {
54 deleter->schedule([p] { Detail::call_delete(p); });
55 }
56};
Definition async-deleter.hh:42
void operator()(T *p)
Definition async-deleter.hh:52
AsyncDeleter()
Definition async-deleter.hh:47
ThreadPool::Ptr deleter
Definition async-deleter.hh:44
Definition threadpool.hh:43
std::shared_ptr< ThreadPool > Ptr
Definition threadpool.hh:165
PresentationInterfaceStub::Ptr const p
Definition determine-size-test.cc:172
Definition color.hh:26
void call_delete(T *p)
Definition async-deleter.hh:15
Definition async-deleter.hh:22
::ThreadPool::Ptr getDeleter()
Definition async-deleter.cc:15
Definition blockallocator.hh:18