OpenLexocad
27.1
ThreadTask.h
Go to the documentation of this file.
1
#pragma once
2
3
namespace
Topo
4
{
5
class
ShapeTool;
6
7
class
LX_TOPO_EXPORT
ThreadTask
8
{
9
public
:
10
ThreadTask
(){};
11
virtual
~ThreadTask
(){};
12
};
13
14
class
LX_TOPO_EXPORT
MainThreadCallback
15
{
16
public
:
17
MainThreadCallback
(){};
18
virtual
~MainThreadCallback
(){};
19
virtual
void
operator()(
int
done_in_percent)
const
= 0;
20
};
21
22
class
LX_TOPO_EXPORT
ThreadTaskWorker
23
{
24
public
:
25
ThreadTaskWorker
(){};
26
virtual
~ThreadTaskWorker
(){};
27
virtual
void
operator()(
Topo::ThreadTask
* runable)
const
= 0;
28
};
29
30
class
LX_TOPO_EXPORT
ThreadPoolData
31
{
32
};
33
34
class
LX_TOPO_EXPORT
ThreadPool
35
{
36
friend
Topo::ShapeTool
;
37
38
public
:
39
virtual
int
idealThreadCount() = 0;
40
virtual
void
runParallel(
int
threads,
41
const
std::vector<Topo::ThreadTask*>&,
42
const
Topo::ThreadTaskWorker
& worker,
43
const
Topo::MainThreadCallback
& callback) = 0;
44
45
virtual
void
startTask(std::function<
void
()> fun) = 0;
46
virtual
void
stopAndJoinAllTasks() = 0;
47
48
protected
:
49
virtual
~ThreadPool
(){};
50
ThreadPool
(){};
51
};
52
}
// namespace Topo
Topo::ThreadTask::ThreadTask
ThreadTask()
Definition:
ThreadTask.h:10
Topo::ThreadPool::~ThreadPool
virtual ~ThreadPool()
Definition:
ThreadTask.h:49
Topo::MainThreadCallback
Definition:
ThreadTask.h:14
Topo::ThreadTask
Definition:
ThreadTask.h:7
Topo::MainThreadCallback::MainThreadCallback
MainThreadCallback()
Definition:
ThreadTask.h:17
Topo::ThreadTaskWorker::~ThreadTaskWorker
virtual ~ThreadTaskWorker()
Definition:
ThreadTask.h:26
Topo::ShapeTool
Tools for creating, manipulating and querying Shapes.
Definition:
ShapeTool.h:85
Topo::ThreadTaskWorker::ThreadTaskWorker
ThreadTaskWorker()
Definition:
ThreadTask.h:25
Topo
Definition:
Variant.h:55
Topo::MainThreadCallback::~MainThreadCallback
virtual ~MainThreadCallback()
Definition:
ThreadTask.h:18
Topo::ThreadPool::ThreadPool
ThreadPool()
Definition:
ThreadTask.h:50
Topo::ThreadPool
Definition:
ThreadTask.h:34
Topo::ThreadTask::~ThreadTask
virtual ~ThreadTask()
Definition:
ThreadTask.h:11
Topo::ThreadPoolData
Definition:
ThreadTask.h:30
Topo::ThreadTaskWorker
Definition:
ThreadTask.h:22
lexocad
Topo
include
Topo
ThreadTask.h
Generated by
1.8.15